vlc_plugin.h File Reference

Include dependency graph for vlc_plugin.h:

Go to the source code of this file.

Defines

#define LIBVLC_MODULES_MACROS_H   1
#define MODULE_NAME   main
#define MODULE_SYMBOL   0_9_0m
 Current plugin ABI version.
#define MODULE_SUFFIX   "__0_9_0m"
#define CONCATENATE(y, z)   CRUDE_HACK( y, z )
#define CRUDE_HACK(y, z)   y##__##z
#define E_(function)   CONCATENATE( function, MODULE_NAME )
#define __VLC_SYMBOL(symbol)   CONCATENATE( symbol, MODULE_NAME )
#define DLL_SYMBOL
#define CDECL_SYMBOL
#define EXTERN_SYMBOL
#define vlc_module_begin()
#define vlc_module_end()
#define add_submodule()   p_submodule = vlc_submodule_create( p_module );
#define add_requirement(cap)
#define add_shortcut(shortcut)
#define set_shortname(shortname)
#define set_description(desc)
#define set_help(help)
#define set_capability(cap, score)
#define set_callbacks(activate, deactivate)
#define linked_with_a_crap_library_which_uses_atexit()
#define set_text_domain(dom)   domain = (dom);
#define add_type_inner(type)   p_config = vlc_config_create (p_module, type);
#define add_typedesc_inner(type, text, longtext)
#define add_typeadv_inner(type, text, longtext, advc)
#define add_typename_inner(type, name, text, longtext, advc, cb)
#define add_string_inner(type, name, text, longtext, advc, cb, v)
#define add_int_inner(type, name, text, longtext, advc, cb, v)
#define set_category(i_id)
#define set_subcategory(i_id)
#define set_section(text, longtext)   add_typedesc_inner( CONFIG_SECTION, text, longtext )
#define add_category_hint(text, longtext, advc)   add_typeadv_inner( CONFIG_HINT_CATEGORY, text, longtext, advc )
#define add_subcategory_hint(text, longtext)   add_typedesc_inner( CONFIG_HINT_SUBCATEGORY, text, longtext )
#define end_subcategory_hint   add_type_inner( CONFIG_HINT_SUBCATEGORY_END )
#define add_usage_hint(text)   add_typedesc_inner( CONFIG_HINT_USAGE, text, NULL )
#define add_string(name, value, p_callback, text, longtext, advc)
#define add_password(name, value, p_callback, text, longtext, advc)
#define add_file(name, value, p_callback, text, longtext, advc)
#define add_directory(name, value, p_callback, text, longtext, advc)
#define add_module(name, psz_caps, value, p_callback, text, longtext, advc)
#define add_module_list(name, psz_caps, value, p_callback, text, longtext, advc)
#define add_module_cat(name, i_subcategory, value, p_callback, text, longtext, advc)
#define add_module_list_cat(name, i_subcategory, value, p_callback, text, longtext, advc)
#define add_integer(name, value, p_callback, text, longtext, advc)
#define add_key(name, value, p_callback, text, longtext, advc)
#define add_integer_with_range(name, value, i_min, i_max, p_callback, text, longtext, advc)
#define add_float(name, v, p_callback, text, longtext, advc)
#define add_float_with_range(name, value, f_min, f_max, p_callback, text, longtext, advc)
#define add_bool(name, v, p_callback, text, longtext, advc)
#define add_obsolete_inner(name, type)
#define add_obsolete_bool(name)   add_obsolete_inner( name, CONFIG_ITEM_BOOL )
#define add_obsolete_integer(name)   add_obsolete_inner( name, CONFIG_ITEM_INTEGER )
#define add_obsolete_float(name)   add_obsolete_inner( name, CONFIG_ITEM_FLOAT )
#define add_obsolete_string(name)   add_obsolete_inner( name, CONFIG_ITEM_STRING )
#define add_deprecated_alias(name)   vlc_config_set (p_config, VLC_CONFIG_OLDNAME, (const char *)(name))
#define change_short(ch)   vlc_config_set (p_config, VLC_CONFIG_SHORTCUT, (int)(ch));
#define change_string_list(list, list_text, list_update_func)
#define change_integer_list(list, list_text, list_update_func)
#define change_float_list(list, list_text, list_update_func)
#define change_integer_range(minv, maxv)   vlc_config_set (p_config, VLC_CONFIG_RANGE, (int)(minv), (int)(maxv));
#define change_float_range(minv, maxv)
#define change_action_add(pf_action, text)
#define change_internal()   vlc_config_set (p_config, VLC_CONFIG_PRIVATE);
#define change_need_restart()   vlc_config_set (p_config, VLC_CONFIG_RESTART);
#define change_autosave()   vlc_config_set (p_config, VLC_CONFIG_PERSISTENT);
#define change_unsaveable()   vlc_config_set (p_config, VLC_CONFIG_VOLATILE);
#define change_unsafe()   (void)0;
#define change_safe()   vlc_config_set (p_config, VLC_CONFIG_SAFE);
#define VLC_META_EXPORT(name, value)
#define VLC_COPYRIGHT_EXPORT
#define VLC_LICENSE_EXPORT
#define VLC_METADATA_EXPORTS

Enumerations

enum  vlc_module_properties {
  VLC_MODULE_CPU_REQUIREMENT, VLC_MODULE_SHORTCUT, VLC_MODULE_SHORTNAME_NODOMAIN, VLC_MODULE_DESCRIPTION_NODOMAIN,
  VLC_MODULE_HELP_NODOMAIN, VLC_MODULE_CAPABILITY, VLC_MODULE_SCORE, VLC_MODULE_PROGRAM,
  VLC_MODULE_CB_OPEN, VLC_MODULE_CB_CLOSE, VLC_MODULE_NO_UNLOAD, VLC_MODULE_NAME,
  VLC_MODULE_SHORTNAME, VLC_MODULE_DESCRIPTION, VLC_MODULE_HELP
}
enum  vlc_config_properties {
  VLC_CONFIG_NAME, VLC_CONFIG_DESC_NODOMAIN, VLC_CONFIG_VALUE, VLC_CONFIG_RANGE,
  VLC_CONFIG_ADVANCED, VLC_CONFIG_VOLATILE, VLC_CONFIG_PERSISTENT, VLC_CONFIG_RESTART,
  VLC_CONFIG_PRIVATE, VLC_CONFIG_REMOVED, VLC_CONFIG_CAPABILITY, VLC_CONFIG_SHORTCUT,
  VLC_CONFIG_LIST_NODOMAIN, VLC_CONFIG_ADD_ACTION_NODOMAIN, VLC_CONFIG_OLDNAME, VLC_CONFIG_SAFE,
  VLC_CONFIG_DESC, VLC_CONFIG_LIST, VLC_CONFIG_ADD_ACTION
}

Functions

module_tvlc_module_create (vlc_object_t *)
module_tvlc_submodule_create (module_t *)
int vlc_module_set (module_t *module, int propid,...)
module_config_tvlc_config_create (module_t *, int type)
int vlc_config_set (module_config_t *, int,...)


Define Documentation

#define __VLC_SYMBOL ( symbol   )     CONCATENATE( symbol, MODULE_NAME )

#define add_bool ( name,
v,
p_callback,
text,
longtext,
advc   ) 

Value:

add_typename_inner( CONFIG_ITEM_BOOL, name, text, longtext, advc, \
                        p_callback ) \
    if (v) vlc_config_set (p_config, VLC_CONFIG_VALUE, (int)true);

#define add_category_hint ( text,
longtext,
advc   )     add_typeadv_inner( CONFIG_HINT_CATEGORY, text, longtext, advc )

#define add_deprecated_alias ( name   )     vlc_config_set (p_config, VLC_CONFIG_OLDNAME, (const char *)(name))

#define add_directory ( name,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_DIRECTORY, name, text, longtext, advc, \
                      p_callback, value )

#define add_file ( name,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_FILE, name, text, longtext, advc, \
                      p_callback, value )

#define add_float ( name,
v,
p_callback,
text,
longtext,
advc   ) 

Value:

add_typename_inner( CONFIG_ITEM_FLOAT, name, text, longtext, advc, p_callback ) \
    vlc_config_set (p_config, VLC_CONFIG_VALUE, (double)(v));

#define add_float_with_range ( name,
value,
f_min,
f_max,
p_callback,
text,
longtext,
advc   ) 

Value:

add_float( name, value, p_callback, text, longtext, advc ) \
    change_float_range( f_min, f_max )

#define add_int_inner ( type,
name,
text,
longtext,
advc,
cb,
 ) 

Value:

add_typename_inner( type, name, text, longtext, advc, cb ) \
    vlc_config_set (p_config, VLC_CONFIG_VALUE, (int)(v));

#define add_integer ( name,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_int_inner( CONFIG_ITEM_INTEGER, name, text, longtext, advc, \
                   p_callback, value )

#define add_integer_with_range ( name,
value,
i_min,
i_max,
p_callback,
text,
longtext,
advc   ) 

Value:

add_integer( name, value, p_callback, text, longtext, advc ) \
    change_integer_range( i_min, i_max )

#define add_key ( name,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_int_inner( CONFIG_ITEM_KEY, name, text, longtext, advc, p_callback, \
                   value )

#define add_module ( name,
psz_caps,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_MODULE, name, text, longtext, advc, \
                      p_callback, value ) \
    vlc_config_set (p_config, VLC_CONFIG_CAPABILITY, (const char *)(psz_caps));

#define add_module_cat ( name,
i_subcategory,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_MODULE_CAT, name, text, longtext, advc, \
                      p_callback, value ) \
    p_config->min.i = i_subcategory /* gruik */;

#define add_module_list ( name,
psz_caps,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_MODULE_LIST, name, text, longtext, advc, \
                      p_callback, value ) \
    vlc_config_set (p_config, VLC_CONFIG_CAPABILITY, (const char *)(psz_caps));

#define add_module_list_cat ( name,
i_subcategory,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_MODULE_LIST_CAT, name, text, longtext, \
                      advc, p_callback, value ) \
    p_config->min.i = i_subcategory /* gruik */;

#define add_obsolete_bool ( name   )     add_obsolete_inner( name, CONFIG_ITEM_BOOL )

#define add_obsolete_float ( name   )     add_obsolete_inner( name, CONFIG_ITEM_FLOAT )

#define add_obsolete_inner ( name,
type   ) 

Value:

add_type_inner( type ) \
    vlc_config_set (p_config, VLC_CONFIG_NAME, \
                    (const char *)(name), (vlc_callback_t)NULL); \
    vlc_config_set (p_config, VLC_CONFIG_REMOVED);

#define add_obsolete_integer ( name   )     add_obsolete_inner( name, CONFIG_ITEM_INTEGER )

#define add_obsolete_string ( name   )     add_obsolete_inner( name, CONFIG_ITEM_STRING )

#define add_password ( name,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_PASSWORD, name, text, longtext, advc, \
                      p_callback, value )

#define add_requirement ( cap   ) 

Value:

if (vlc_module_set (p_module, VLC_MODULE_CPU_REQUIREMENT, \
                        (int)(CPU_CAPABILITY_##cap))) \
        goto error;

#define add_shortcut ( shortcut   ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_SHORTCUT, \
        (const char *)(shortcut))) \
        goto error;

#define add_string ( name,
value,
p_callback,
text,
longtext,
advc   ) 

Value:

add_string_inner( CONFIG_ITEM_STRING, name, text, longtext, advc, \
                      p_callback, value )

#define add_string_inner ( type,
name,
text,
longtext,
advc,
cb,
 ) 

Value:

add_typename_inner( type, name, text, longtext, advc, cb ) \
    vlc_config_set (p_config, VLC_CONFIG_VALUE, (const char *)(v));

#define add_subcategory_hint ( text,
longtext   )     add_typedesc_inner( CONFIG_HINT_SUBCATEGORY, text, longtext )

 
#define add_submodule (  )     p_submodule = vlc_submodule_create( p_module );

#define add_type_inner ( type   )     p_config = vlc_config_create (p_module, type);

#define add_typeadv_inner ( type,
text,
longtext,
advc   ) 

Value:

add_typedesc_inner( type, text, longtext ) \
    if (advc) vlc_config_set (p_config, VLC_CONFIG_ADVANCED);

#define add_typedesc_inner ( type,
text,
longtext   ) 

Value:

add_type_inner( type ) \
    vlc_config_set (p_config, VLC_CONFIG_DESC, domain, \
                    (const char *)(text), (const char *)(longtext));

#define add_typename_inner ( type,
name,
text,
longtext,
advc,
cb   ) 

Value:

add_typeadv_inner( type, text, longtext, advc ) \
    vlc_config_set (p_config, VLC_CONFIG_NAME, \
                    (const char *)(name), (vlc_callback_t)(cb));

#define add_usage_hint ( text   )     add_typedesc_inner( CONFIG_HINT_USAGE, text, NULL )

#define CDECL_SYMBOL

#define change_action_add ( pf_action,
text   ) 

Value:

vlc_config_set (p_config, VLC_CONFIG_ADD_ACTION, domain, \
                    (vlc_callback_t)(pf_action), (const char *)(text));

 
#define change_autosave (  )     vlc_config_set (p_config, VLC_CONFIG_PERSISTENT);

#define change_float_list ( list,
list_text,
list_update_func   ) 

Value:

vlc_config_set (p_config, VLC_CONFIG_LIST, domain, \
                    (size_t)(sizeof (list) / sizeof (float)), \
                    (const float *)(list), \
                    (const char *const *)(list_text), \
                    list_update_func);

#define change_float_range ( minv,
maxv   ) 

Value:

vlc_config_set (p_config, VLC_CONFIG_RANGE, \
                    (double)(minv), (double)(maxv));

#define change_integer_list ( list,
list_text,
list_update_func   ) 

Value:

vlc_config_set (p_config, VLC_CONFIG_LIST, domain, \
                    (size_t)(sizeof (list) / sizeof (int)), \
                    (const int *)(list), \
                    (const char *const *)(list_text), \
                    list_update_func);

#define change_integer_range ( minv,
maxv   )     vlc_config_set (p_config, VLC_CONFIG_RANGE, (int)(minv), (int)(maxv));

 
#define change_internal (  )     vlc_config_set (p_config, VLC_CONFIG_PRIVATE);

 
#define change_need_restart (  )     vlc_config_set (p_config, VLC_CONFIG_RESTART);

 
#define change_safe (  )     vlc_config_set (p_config, VLC_CONFIG_SAFE);

#define change_short ( ch   )     vlc_config_set (p_config, VLC_CONFIG_SHORTCUT, (int)(ch));

#define change_string_list ( list,
list_text,
list_update_func   ) 

Value:

vlc_config_set (p_config, VLC_CONFIG_LIST, domain, \
                    (size_t)(sizeof (list) / sizeof (char *)), \
                    (const char *const *)(list), \
                    (const char *const *)(list_text), \
                    list_update_func);

 
#define change_unsafe (  )     (void)0;

 
#define change_unsaveable (  )     vlc_config_set (p_config, VLC_CONFIG_VOLATILE);

#define CONCATENATE ( y,
 )     CRUDE_HACK( y, z )

#define CRUDE_HACK ( y,
 )     y##__##z

#define DLL_SYMBOL

#define E_ ( function   )     CONCATENATE( function, MODULE_NAME )

#define end_subcategory_hint   add_type_inner( CONFIG_HINT_SUBCATEGORY_END )

#define EXTERN_SYMBOL

#define LIBVLC_MODULES_MACROS_H   1

 
#define linked_with_a_crap_library_which_uses_atexit (  ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_NO_UNLOAD)) \
        goto error;

#define MODULE_NAME   main

#define MODULE_SUFFIX   "__0_9_0m"

#define MODULE_SYMBOL   0_9_0m

Current plugin ABI version.

#define set_callbacks ( activate,
deactivate   ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_CB_OPEN, activate) \
     || vlc_module_set (p_submodule, VLC_MODULE_CB_CLOSE, deactivate)) \
        goto error;

#define set_capability ( cap,
score   ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_CAPABILITY, \
                        (const char *)(cap)) \
     || vlc_module_set (p_submodule, VLC_MODULE_SCORE, (int)(score))) \
        goto error;

#define set_category ( i_id   ) 

Value:

add_type_inner( CONFIG_CATEGORY ) \
    vlc_config_set (p_config, VLC_CONFIG_VALUE, (int)(i_id));

#define set_description ( desc   ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_DESCRIPTION, domain, \
                        (const char *)(desc))) \
        goto error;

#define set_help ( help   ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_HELP, domain, \
                        (const char *)(help))) \
        goto error;

#define set_section ( text,
longtext   )     add_typedesc_inner( CONFIG_SECTION, text, longtext )

#define set_shortname ( shortname   ) 

Value:

if (vlc_module_set (p_submodule, VLC_MODULE_SHORTNAME, domain, \
                        (const char *)(shortname))) \
        goto error;

#define set_subcategory ( i_id   ) 

Value:

add_type_inner( CONFIG_SUBCATEGORY ) \
    vlc_config_set (p_config, VLC_CONFIG_VALUE, (int)(i_id));

#define set_text_domain ( dom   )     domain = (dom);

#define VLC_COPYRIGHT_EXPORT

#define VLC_LICENSE_EXPORT

Value:

VLC_META_EXPORT (license, \
    "\x4c\x69\x63\x65\x6e\x73\x65\x64\x20\x75\x6e\x64\x65\x72\x20\x74" \
    "\x68\x65\x20\x74\x65\x72\x6d\x73\x20\x6f\x66\x20\x74\x68\x65\x20" \
    "\x47\x4e\x55\x20\x47\x65\x6e\x65\x72\x61\x6c\x20\x50\x75\x62\x6c" \
    "\x69\x63\x20\x4c\x69\x63\x65\x6e\x73\x65\x2c\x20\x76\x65\x72\x73" \
    "\x69\x6f\x6e\x20\x32\x20\x6f\x72\x20\x6c\x61\x74\x65\x72\x2e" )

#define VLC_META_EXPORT ( name,
value   ) 

Value:

EXTERN_SYMBOL DLL_SYMBOL const char * CDECL_SYMBOL \
    E_(vlc_entry_ ## name) (void); \
    EXTERN_SYMBOL DLL_SYMBOL const char * CDECL_SYMBOL \
    __VLC_SYMBOL(vlc_entry_ ## name) (void) \
    { \
         return value; \
    }

#define VLC_METADATA_EXPORTS

Value:

 
#define vlc_module_begin (  ) 

Value:

EXTERN_SYMBOL DLL_SYMBOL int CDECL_SYMBOL                                 \
    E_(vlc_entry) ( module_t *p_module );                                     \
                                                                              \
    EXTERN_SYMBOL DLL_SYMBOL int CDECL_SYMBOL                                 \
    __VLC_SYMBOL(vlc_entry) ( module_t *p_module )                            \
    {                                                                         \
        module_config_t *p_config = NULL;                                     \
        const char *domain = NULL;                                            \
        if (vlc_module_set (p_module, VLC_MODULE_NAME,                        \
                            (const char *)(MODULE_STRING)))                   \
            goto error;                                                       \
        {                                                                     \
            module_t *p_submodule = p_module;

 
#define vlc_module_end (  ) 

Value:

}                                                                     \
        (void)p_config;                                                       \
        return VLC_SUCCESS;                                                   \
                                                                              \
    error:                                                                    \
        return VLC_EGENERIC;                                                  \
    }                                                                         \
    VLC_METADATA_EXPORTS


Enumeration Type Documentation

enum vlc_config_properties

Enumerator:
VLC_CONFIG_NAME 
VLC_CONFIG_DESC_NODOMAIN 
VLC_CONFIG_VALUE 
VLC_CONFIG_RANGE 
VLC_CONFIG_ADVANCED 
VLC_CONFIG_VOLATILE 
VLC_CONFIG_PERSISTENT 
VLC_CONFIG_RESTART 
VLC_CONFIG_PRIVATE 
VLC_CONFIG_REMOVED 
VLC_CONFIG_CAPABILITY 
VLC_CONFIG_SHORTCUT 
VLC_CONFIG_LIST_NODOMAIN 
VLC_CONFIG_ADD_ACTION_NODOMAIN 
VLC_CONFIG_OLDNAME 
VLC_CONFIG_SAFE 
VLC_CONFIG_DESC 
VLC_CONFIG_LIST 
VLC_CONFIG_ADD_ACTION 

enum vlc_module_properties

Enumerator:
VLC_MODULE_CPU_REQUIREMENT 
VLC_MODULE_SHORTCUT 
VLC_MODULE_SHORTNAME_NODOMAIN 
VLC_MODULE_DESCRIPTION_NODOMAIN 
VLC_MODULE_HELP_NODOMAIN 
VLC_MODULE_CAPABILITY 
VLC_MODULE_SCORE 
VLC_MODULE_PROGRAM 
VLC_MODULE_CB_OPEN 
VLC_MODULE_CB_CLOSE 
VLC_MODULE_NO_UNLOAD 
VLC_MODULE_NAME 
VLC_MODULE_SHORTNAME 
VLC_MODULE_DESCRIPTION 
VLC_MODULE_HELP 


Function Documentation

module_config_t* vlc_config_create ( module_t ,
int  type 
)

int vlc_config_set ( module_config_t ,
int  ,
  ... 
)

module_t* vlc_module_create (