VLC  3.0.15
Data Structures | Macros | Typedefs | Enumerations | Functions
vlc_configuration.h File Reference
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_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 (const char *)
 
int64_t config_GetInt (vlc_object_t *, const char *)
 
void config_PutInt (vlc_object_t *, const char *, int64_t)
 
float config_GetFloat (vlc_object_t *, const char *)
 
void config_PutFloat (vlc_object_t *, const char *, float)
 
char * config_GetPsz (vlc_object_t *, const char *)
 
void config_PutPsz (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 *)
 Saves the in-memory configuration into a file. More...
 
void config_ResetAll (vlc_object_t *)
 
module_config_tconfig_FindConfig (const char *)
 
char * config_GetDataDir (void)
 Determines the shared data directory. More...
 
char * config_GetLibDir (void)
 Determines the architecture-dependent data directory. More...
 
char * config_GetUserDir (vlc_userdir_t)
 
void config_AddIntf (vlc_object_t *, const char *)
 
void config_RemoveIntf (vlc_object_t *, const char *)
 
bool config_ExistIntf (vlc_object_t *, const char *)
 
void config_ChainParse (vlc_object_t *, const char *psz_prefix, const char *const *ppsz_options, config_chain_t *)
 This function will. More...
 
const char * config_ChainParseOptions (config_chain_t **pp_cfg, const char *ppsz_opts)
 This function will parse a configuration string (psz_opts) and. More...
 
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. More...
 
void config_ChainDestroy (config_chain_t *)
 This function will release a linked list of config_chain_t (Including the head) More...
 
config_chain_tconfig_ChainDuplicate (const config_chain_t *)
 This function will duplicate a linked list of config_chain_t. More...
 
char * config_StringUnescape (char *psz_string)
 This function will unescape a string in place and will return a pointer on the given string. More...
 
char * config_StringEscape (const char *psz_string)
 This function will escape a string that can be unescaped by config_StringUnescape. More...
 

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

◆ config_AddIntf

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

◆ config_ChainParse

#define config_ChainParse (   a,
  b,
  c,
 
)    config_ChainParse( VLC_OBJECT(a), b, c, d )

◆ config_ExistIntf

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

◆ config_GetFloat

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

◆ config_GetInt

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

◆ config_GetPsz

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

◆ config_PutFloat

#define config_PutFloat (   a,
  b,
 
)    config_PutFloat(VLC_OBJECT(a),b,c)

◆ config_PutInt

#define config_PutInt (   a,
  b,
 
)    config_PutInt(VLC_OBJECT(a),b,c)

◆ config_PutPsz

#define config_PutPsz (   a,
  b,
 
)    config_PutPsz(VLC_OBJECT(a),b,c)

◆ config_RemoveIntf

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

◆ config_ResetAll

#define config_ResetAll (   a)    config_ResetAll(VLC_OBJECT(a))

◆ config_SaveConfigFile

#define config_SaveConfigFile (   a)    config_SaveConfigFile(VLC_OBJECT(a))

Typedef Documentation

◆ vlc_integer_list_cb

typedef int(* vlc_integer_list_cb) (vlc_object_t *, const char *, int64_t **, char ***)

◆ vlc_string_list_cb

typedef int(* vlc_string_list_cb) (vlc_object_t *, const char *, char ***, char ***)

◆ vlc_userdir_t

typedef enum vlc_userdir vlc_userdir_t

Enumeration Type Documentation

◆ vlc_userdir

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

◆ config_AddIntf()

void config_AddIntf ( vlc_object_t ,
const char *   
)

◆ config_ChainCreate()

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 AppendRemapFilter(), filter_chain_AppendFromString(), intf_Create(), vlc_rd_new(), and vlc_sd_Create().

◆ config_ChainDestroy()

void config_ChainDestroy ( config_chain_t )

◆ config_ChainDuplicate()

config_chain_t* config_ChainDuplicate ( const config_chain_t )

This function will duplicate a linked list of config_chain_t.

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

◆ config_ChainParse()

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

◆ config_ChainParseOptions()

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 aout_FiltersPipelineCreate(), and config_ChainCreate().

◆ config_ExistIntf()

bool config_ExistIntf ( vlc_object_t ,
const char *   
)

◆ config_FindConfig()

module_config_t* config_FindConfig ( const char *  )

◆ config_GetDataDir()

char* config_GetDataDir ( void  )

Determines the shared data directory.

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

References asprintf(), config_GetLibDir(), getenv(), p, strdup(), and unlikely.

Referenced by GetDefaultArtUri(), and vlc_bindtextdomain().

◆ config_GetFloat()

float config_GetFloat ( vlc_object_t ,
const char *   
)

◆ config_GetInt()

int64_t config_GetInt ( vlc_object_t ,
const char *   
)

◆ config_GetIntChoices()

ssize_t config_GetIntChoices ( vlc_object_t ,
const char *  ,
int64_t **  ,
char ***   
)

◆ config_GetLibDir()

char* config_GetLibDir ( void  )

Determines the architecture-dependent data directory.

Returns
a string (always succeeds).

References asprintf(), config_GetLibDir(), FromLocaleDup, getline(), likely, lock, p, strdup(), system_Init(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_STATIC_MUTEX.

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

◆ config_GetPsz()

char* config_GetPsz ( vlc_object_t ,
const char *   
)

◆ config_GetPszChoices()

ssize_t config_GetPszChoices ( vlc_object_t ,
const char *  ,
char ***  ,
char ***   
)

◆ config_GetType()

int config_GetType ( const char *  )

◆ config_GetUserDir()

char* config_GetUserDir ( vlc_userdir_t  )

◆ config_PutFloat()

void config_PutFloat ( vlc_object_t ,
const char *  ,
float   
)

◆ config_PutInt()

void config_PutInt ( vlc_object_t ,
const char *  ,
int64_t   
)

◆ config_PutPsz()

void config_PutPsz ( vlc_object_t ,
const char *  ,
const char *   
)

◆ config_RemoveIntf()

void config_RemoveIntf ( vlc_object_t ,
const char *   
)

◆ config_ResetAll()

void config_ResetAll ( vlc_object_t )

◆ config_SaveConfigFile()

int config_SaveConfigFile ( vlc_object_t p_this)

◆ config_StringEscape()

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(), p, and unlikely.

◆ config_StringUnescape()

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().