VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
vlc_configuration.h File Reference

This file describes the programming interface for the configuration module. More...

Include dependency graph for vlc_configuration.h:

Go to the source code of this file.

Data Structures

struct  config_category_t
union  module_value_t
struct  module_config_t
struct  config_chain_t

Macros

#define config_SaveConfigFile(a)   config_SaveConfigFile(VLC_OBJECT(a))
#define config_ResetAll(a)   config_ResetAll(VLC_OBJECT(a))
#define config_GetType(a, b)   config_GetType(VLC_OBJECT(a),b)
#define config_GetInt(a, b)   config_GetInt(VLC_OBJECT(a),b)
#define config_PutInt(a, b, c)   config_PutInt(VLC_OBJECT(a),b,c)
#define config_GetFloat(a, b)   config_GetFloat(VLC_OBJECT(a),b)
#define config_PutFloat(a, b, c)   config_PutFloat(VLC_OBJECT(a),b,c)
#define config_GetPsz(a, b)   config_GetPsz(VLC_OBJECT(a),b)
#define config_PutPsz(a, b, c)   config_PutPsz(VLC_OBJECT(a),b,c)
#define config_AddIntf(a, b)   config_AddIntf(VLC_OBJECT(a),b)
#define config_RemoveIntf(a, b)   config_RemoveIntf(VLC_OBJECT(a),b)
#define config_ExistIntf(a, b)   config_ExistIntf(VLC_OBJECT(a),b)
#define config_ChainParse(a, b, c, d)   config_ChainParse( VLC_OBJECT(a), b, c, d )

Typedefs

typedef int(* vlc_string_list_cb )(vlc_object_t *, const char *, char ***, char ***)
typedef int(* vlc_integer_list_cb )(vlc_object_t *, const char *, int64_t **, char ***)
typedef enum vlc_userdir vlc_userdir_t

Enumerations

enum  vlc_userdir {
  VLC_HOME_DIR, VLC_CONFIG_DIR, VLC_DATA_DIR, VLC_CACHE_DIR,
  VLC_DESKTOP_DIR = 0x80, VLC_DOWNLOAD_DIR, VLC_TEMPLATES_DIR, VLC_PUBLICSHARE_DIR,
  VLC_DOCUMENTS_DIR, VLC_MUSIC_DIR, VLC_PICTURES_DIR, VLC_VIDEOS_DIR
}

Functions

int config_GetType (((vlc_object_t *)(vlc_object_t *)), const char *)
int64_t config_GetInt (((vlc_object_t *)(vlc_object_t *)), const char *)
void config_PutInt (((vlc_object_t *)(vlc_object_t *)), const char *, int64_t)
float config_GetFloat (((vlc_object_t *)(vlc_object_t *)), const char *)
void config_PutFloat (((vlc_object_t *)(vlc_object_t *)), const char *, float)
char * config_GetPsz (((vlc_object_t *)(vlc_object_t *)), const char *)
void config_PutPsz (((vlc_object_t *)(vlc_object_t *)), const char *, const char *)
ssize_t config_GetIntChoices (vlc_object_t *, const char *, int64_t **, char ***)
ssize_t config_GetPszChoices (vlc_object_t *, const char *, char ***, char ***)
int config_SaveConfigFile (((vlc_object_t *)(vlc_object_t *)))
void config_ResetAll (((vlc_object_t *)(vlc_object_t *)))
module_config_tconfig_FindConfig (vlc_object_t *, const char *)
char * config_GetDataDir (void)
 Determines the shared data directory.
char * config_GetLibDir (void)
 Determines the architecture-dependent data directory.
char * config_GetUserDir (vlc_userdir_t)
void config_AddIntf (((vlc_object_t *)(vlc_object_t *)), const char *)
void config_RemoveIntf (((vlc_object_t *)(vlc_object_t *)), const char *)
bool config_ExistIntf (((vlc_object_t *)(vlc_object_t *)), const char *)
void config_ChainParse (((vlc_object_t *)(vlc_object_t *)), const char *psz_prefix, const char *const *ppsz_options, config_chain_t *)
 This function will.
const char * config_ChainParseOptions (config_chain_t **pp_cfg, const char *ppsz_opts)
 This function will parse a configuration string (psz_opts) and.
char * config_ChainCreate (char **ppsz_name, config_chain_t **pp_cfg, const char *psz_string)
 This function will parse a configuration string (psz_string) and.
void config_ChainDestroy (config_chain_t *)
 This function will release a linked list of config_chain_t (Including the head)
config_chain_tconfig_ChainDuplicate (const config_chain_t *)
 This function will duplicate a linked list of config_chain_t.
char * config_StringUnescape (char *psz_string)
 This function will unescape a string in place and will return a pointer on the given string.
char * config_StringEscape (const char *psz_string)
 This function will escape a string that can be unescaped by config_StringUnescape.

Detailed Description

This file describes the programming interface for the configuration module.

It includes functions allowing to declare, get or set configuration options.

Macro Definition Documentation

#define config_AddIntf (   a,
 
)    config_AddIntf(VLC_OBJECT(a),b)
#define config_ChainParse (   a,
  b,
  c,
 
)    config_ChainParse( VLC_OBJECT(a), b, c, d )
#define config_ExistIntf (   a,
 
)    config_ExistIntf(VLC_OBJECT(a),b)
#define config_GetFloat (   a,
 
)    config_GetFloat(VLC_OBJECT(a),b)

Referenced by var_Inherit().

#define config_GetInt (   a,
 
)    config_GetInt(VLC_OBJECT(a),b)

Referenced by var_Inherit().

#define config_GetPsz (   a,
 
)    config_GetPsz(VLC_OBJECT(a),b)
#define config_GetType (   a,
 
)    config_GetType(VLC_OBJECT(a),b)
#define config_PutFloat (   a,
  b,
 
)    config_PutFloat(VLC_OBJECT(a),b,c)
#define config_PutInt (   a,
  b,
 
)    config_PutInt(VLC_OBJECT(a),b,c)
#define config_PutPsz (   a,
  b,
 
)    config_PutPsz(VLC_OBJECT(a),b,c)
#define config_RemoveIntf (   a,
 
)    config_RemoveIntf(VLC_OBJECT(a),b)
#define config_ResetAll (   a)    config_ResetAll(VLC_OBJECT(a))
#define config_SaveConfigFile (   a)    config_SaveConfigFile(VLC_OBJECT(a))

Typedef Documentation

typedef int(* vlc_integer_list_cb)(vlc_object_t *, const char *, int64_t **, char ***)
typedef int(* vlc_string_list_cb)(vlc_object_t *, const char *, char ***, char ***)
typedef enum vlc_userdir vlc_userdir_t

Enumeration Type Documentation

Enumerator:
VLC_HOME_DIR 
VLC_CONFIG_DIR 
VLC_DATA_DIR 
VLC_CACHE_DIR 
VLC_DESKTOP_DIR 
VLC_DOWNLOAD_DIR 
VLC_TEMPLATES_DIR 
VLC_PUBLICSHARE_DIR 
VLC_DOCUMENTS_DIR 
VLC_MUSIC_DIR 
VLC_PICTURES_DIR 
VLC_VIDEOS_DIR 

Function Documentation

void config_AddIntf ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
char* config_ChainCreate ( char **  ppsz_name,
config_chain_t **  pp_cfg,
const char *  psz_string 
)

This function will parse a configuration string (psz_string) and.

  • set the module name (*ppsz_name)
  • set all options for this module in a chained list (*pp_cfg)
  • returns a pointer on the next module if any.

The string format is module{option=*,option=*}[:modulenext{option=*,...}]

The options values are unescaped using config_StringUnescape.

References config_ChainParseOptions(), SKIPSPACE, strdup(), and strndup().

Referenced by filter_chain_AppendFromStringInternal(), intf_Create(), sout_AccessOutNew(), sout_MuxNew(), sout_StreamChainNew(), ThreadChangeFilters(), and vlc_sd_Create().

void config_ChainDestroy ( config_chain_t )
config_chain_t* config_ChainDuplicate ( const config_chain_t )

This function will duplicate a linked list of config_chain_t.

References config_chain_t::p_next, config_chain_t::psz_name, config_chain_t::psz_value, and strdup().

void config_ChainParse ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *  psz_prefix,
const char *const *  ppsz_options,
config_chain_t  
)

This function will.

  • create all options in the array ppsz_options (var_Create).
  • parse the given linked list of config_chain_t and set the value (var_Set).

The option names will be created by adding the psz_prefix prefix.

const char* config_ChainParseOptions ( config_chain_t **  pp_cfg,
const char *  ppsz_opts 
)

This function will parse a configuration string (psz_opts) and.

  • set all options for this module in a chained list (*pp_cfg)
  • returns a pointer on the next module if any.

The string format is module{option=*,option=*}

The options values are unescaped using config_StringUnescape.

References ChainGetValue(), config_chain_t::p_next, config_chain_t::psz_name, config_chain_t::psz_value, SKIPSPACE, and strndup().

Referenced by config_ChainCreate().

bool config_ExistIntf ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
module_config_t* config_FindConfig ( vlc_object_t ,
const char *   
)
char* config_GetDataDir ( void  )

Determines the shared data directory.

Returns
a nul-terminated string or NULL. Use free() to release it.
a null-terminated string or NULL. Use free() to release it.

References asprintf(), config_GetLibDir(), GetConstPrivatePath(), getenv(), PACKAGE, strdup(), and unlikely.

Referenced by vlc_bindtextdomain().

float config_GetFloat ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
int64_t config_GetInt ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
ssize_t config_GetIntChoices ( vlc_object_t ,
const char *  ,
int64_t **  ,
char ***   
)
char* config_GetLibDir ( void  )

Determines the architecture-dependent data directory.

Returns
a string (always succeeds).

References asprintf(), config_GetLibDir(), config_GetLibPath(), FromLocaleDup, getline(), PACKAGE, strdup(), and system_Init().

Referenced by config_GetDataDir(), config_GetLibDir(), and config_GetUserDir().

char* config_GetPsz ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
ssize_t config_GetPszChoices ( vlc_object_t ,
const char *  ,
char ***  ,
char ***   
)
int config_GetType ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
char* config_GetUserDir ( vlc_userdir_t  )
void config_PutFloat ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *  ,
float   
)
void config_PutInt ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *  ,
int64_t   
)
void config_PutPsz ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *  ,
const char *   
)
void config_RemoveIntf ( ((vlc_object_t *)(vlc_object_t *))  ,
const char *   
)
void config_ResetAll ( ((vlc_object_t *)(vlc_object_t *))  )
int config_SaveConfigFile ( ((vlc_object_t *)(vlc_object_t *))  )
char* config_StringEscape ( const char *  psz_string)

This function will escape a string that can be unescaped by config_StringUnescape.

The returned value is allocated by it. You have to free it once you do not need it anymore (unlike config_StringUnescape). If NULL is given as parameter nothing will be done (NULL will be returned).

The escaped characters are ' " and \

References IsEscapeNeeded(), and xmalloc().

char* config_StringUnescape ( char *  psz_string)

This function will unescape a string in place and will return a pointer on the given string.

No memory is allocated by it (unlike config_StringEscape). If NULL is given as parameter nothing will be done (NULL will be returned).

The following sequences will be unescaped (only one time): \ \' and "

References IsEscape().

Referenced by ChainGetValue().