]> git.sesse.net Git - vlc/blobdiff - include/vlc_configuration.h
- Remove config_FindModule as module_Find nowadays does the same thing
[vlc] / include / vlc_configuration.h
index 33b052f26100905f30596a3d5b03ecf9a54cc1e8..b0c1d27aa67050452827b1a71406dc06440814a1 100644 (file)
   #error You are not libvlc or one of its plugins. You cannot include this file
 #endif
 
+#ifndef _VLC_CONFIGURATION_H
+#define _VLC_CONFIGURATION_H 1
+
+
 # ifdef __cplusplus
 extern "C" {
 # endif
@@ -62,37 +66,10 @@ extern "C" {
 #define CONFIG_ITEM_MODULE_LIST             0x00A0  /* Module option */
 #define CONFIG_ITEM_MODULE_LIST_CAT         0x00B0  /* Module option */
 #define CONFIG_ITEM_FONT                    0x00C0  /* Font option */
+#define CONFIG_ITEM_PASSWORD                0x00D0  /* Password option (*) */
 
 #define CONFIG_ITEM                         0x00F0
 
-/* Item types that use a string value (i.e. serialized in the module cache) */
-#define CONFIG_STRING_TYPES \
-    { \
-        CONFIG_ITEM_STRING, CONFIG_ITEM_FILE, CONFIG_ITEM_MODULE, \
-        CONFIG_ITEM_DIRECTORY, CONFIG_ITEM_MODULE_CAT, \
-        CONFIG_ITEM_MODULE_LIST, CONFIG_ITEM_MODULE_LIST_CAT \
-    }
-
-static inline int IsConfigStringType (int type)
-{
-    const unsigned char config_string_types[] = CONFIG_STRING_TYPES;
-
-    /* NOTE: this needs to be changed if we ever get more than 255 types */
-    return memchr (config_string_types, type, sizeof (config_string_types))
-            != NULL;
-}
-
-static inline int IsConfigIntegerType (int type)
-{
-    return (type == CONFIG_ITEM_INTEGER) || (type == CONFIG_ITEM_KEY)
-        || (type == CONFIG_ITEM_BOOL);
-}
-
-static inline int IsConfigFloatType (int type)
-{
-    return type == CONFIG_ITEM_FLOAT;
-}
-
 /*******************************************************************
  * All predefined categories and subcategories
  *******************************************************************/
@@ -146,6 +123,9 @@ static inline int IsConfigFloatType (int type)
    #define SUBCAT_PLAYLIST_SD 702
    #define SUBCAT_PLAYLIST_EXPORT 703
 
+#define CAT_OSD 8
+   #define SUBCAT_OSD_IMPORT 801
+
 struct config_category_t
 {
     int         i_id;
@@ -185,31 +165,31 @@ struct module_config_t
     void          *p_callback_data;
 
     /* Values list */
-    const char **ppsz_list;        /* List of possible values for the option */
-    int         *pi_list;          /* Idem for integers */
-    const char **ppsz_list_text;   /* Friendly names for list values */
-    int          i_list;           /* Options list size */
+    const char **ppsz_list;       /* List of possible values for the option */
+    int         *pi_list;                              /* Idem for integers */
+    const char **ppsz_list_text;          /* Friendly names for list values */
+    int          i_list;                               /* Options list size */
 
     /* Actions list */
     vlc_callback_t *ppf_action;    /* List of possible actions for a config */
     const char    **ppsz_action_text;         /* Friendly names for actions */
-    int            i_action;                            /* actions list size */
+    int            i_action;                           /* actions list size */
 
     /* Misc */
     vlc_mutex_t *p_lock;            /* Lock to use when modifying the config */
     vlc_bool_t   b_dirty;          /* Dirty flag to indicate a config change */
     vlc_bool_t   b_advanced;          /* Flag to indicate an advanced option */
     vlc_bool_t   b_internal;   /* Flag to indicate option is not to be shown */
-    vlc_bool_t   b_restart;    /* Flag to indicate the option need a restart */
-                               /* to take effect */
+    vlc_bool_t   b_restart;   /* Flag to indicate the option needs a restart */
+                              /* to take effect */
 
     /* Deprecated */
-    const char    *psz_current;   /* Good option name */
-    vlc_bool_t     b_strict;      /* Transitionnal or strict */
+    const char    *psz_current;                         /* Good option name */
+    vlc_bool_t     b_strict;                     /* Transitionnal or strict */
 
     /* Option values loaded from config file */
-    vlc_bool_t   b_autosave;       /* Config will be auto-saved at exit time */
-    vlc_bool_t   b_unsaveable;       /* confg should be saved*/
+    vlc_bool_t   b_autosave;      /* Config will be auto-saved at exit time */
+    vlc_bool_t   b_unsaveable;                    /* Config should be saved */
 };
 
 /*****************************************************************************
@@ -230,11 +210,14 @@ VLC_EXPORT( int,    __config_SaveConfigFile, ( vlc_object_t *, const char * ) );
 VLC_EXPORT( void,   __config_ResetAll, ( vlc_object_t * ) );
 
 VLC_EXPORT( module_config_t *, config_FindConfig,( vlc_object_t *, const char * ) );
-VLC_EXPORT( module_t *, config_FindModule,( vlc_object_t *, const char * ) );
 
 VLC_EXPORT( int, config_Duplicate,( module_t *, const module_config_t *, size_t ));
 
-VLC_EXPORT(const char *, config_GetDataDir, ( const vlc_object_t * ));
+VLC_EXPORT(const char *, config_GetDataDir, ( void ));
+
+VLC_EXPORT( void,       __config_AddIntf,    ( vlc_object_t *, const char * ) );
+VLC_EXPORT( void,       __config_RemoveIntf, ( vlc_object_t *, const char * ) );
+VLC_EXPORT( vlc_bool_t, __config_ExistIntf,  ( vlc_object_t *, const char * ) );
 
 #define config_GetType(a,b) __config_GetType(VLC_OBJECT(a),b)
 #define config_GetInt(a,b) __config_GetInt(VLC_OBJECT(a),b)
@@ -244,6 +227,10 @@ VLC_EXPORT(const char *, config_GetDataDir, ( const vlc_object_t * ));
 #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)
+
 
 /*****************************************************************************
  * Macros used to build the configuration structure.
@@ -318,6 +305,9 @@ VLC_EXPORT(const char *, config_GetDataDir, ( const vlc_object_t * ));
 #define add_string( name, value, p_callback, text, longtext, advc ) \
     add_string_inner( CONFIG_ITEM_STRING, name, text, longtext, advc, p_callback, value )
 
+#define add_password( name, value, p_callback, text, longtext, advc ) \
+    add_string_inner( CONFIG_ITEM_PASSWORD, name, text, longtext, advc, p_callback, value )
+
 #define add_file( name, value, p_callback, text, longtext, advc ) \
     add_string_inner( CONFIG_ITEM_FILE, name, text, longtext, advc, p_callback, value )
 
@@ -363,32 +353,32 @@ VLC_EXPORT(const char *, config_GetDataDir, ( const vlc_object_t * ));
     p_config[i_config].value.i = v
 
 /* For renamed option */
-#define add_deprecated( name, strict ) \
+#define add_deprecated_alias( name ) \
     add_config_inner( ); \
     p_config[ i_config ].i_type = p_config[ i_config -1 ].i_type; \
     p_config[ i_config ].psz_name = name; \
-    p_config[i_config].b_strict = strict; \
-    p_config[ i_config ].psz_current = p_config[ i_config-1].psz_current \
+    p_config[i_config].b_strict = VLC_FALSE; \
+    p_config[ i_config ].psz_current = p_config[ i_config-1 ].psz_current \
         ? p_config[ i_config-1 ].psz_current \
         : p_config[ i_config-1 ].psz_name;
 
 /* For removed option */
-#define add_suppressed_inner( name, type ) \
+#define add_obsolete_inner( name, type ) \
     add_type_inner( type ); \
     p_config[ i_config ].psz_name = name; \
     p_config[ i_config ].psz_current = "SUPPRESSED";
 
-#define add_suppressed_bool( name ) \
-        add_suppressed_inner( name, CONFIG_ITEM_BOOL )
+#define add_obsolete_bool( name ) \
+        add_obsolete_inner( name, CONFIG_ITEM_BOOL )
 
-#define add_suppressed_integer( name ) \
-        add_suppressed_inner( name, CONFIG_ITEM_INTEGER )
+#define add_obsolete_integer( name ) \
+        add_obsolete_inner( name, CONFIG_ITEM_INTEGER )
 
-#define add_suppressed_float( name ) \
-        add_suppressed_inner( name, CONFIG_ITEM_FLOAT )
+#define add_obsolete_float( name ) \
+        add_obsolete_inner( name, CONFIG_ITEM_FLOAT )
 
-#define add_suppressed_string( name ) \
-        add_suppressed_inner( name, CONFIG_ITEM_STRING )
+#define add_obsolete_string( name ) \
+        add_obsolete_inner( name, CONFIG_ITEM_STRING )
 
 /* Modifier macros for the config options (used for fine tuning) */
 #define change_short( ch ) \
@@ -451,35 +441,12 @@ struct config_chain_t
 };
 
 #define config_ChainParse( a, b, c, d ) __config_ChainParse( VLC_OBJECT(a), b, c, d )
-VLC_EXPORT( void,   __config_ChainParse, ( vlc_object_t *, const char *psz_prefix, const char **ppsz_options, config_chain_t * ) );
+VLC_EXPORT( void,   __config_ChainParse, ( vlc_object_t *, const char *psz_prefix, const char *const *ppsz_options, config_chain_t * ) );
 VLC_EXPORT( char *, config_ChainCreate, ( char **, config_chain_t **, const char * ) );
 VLC_EXPORT( void, config_ChainDestroy, ( config_chain_t * ) );
 
-static inline config_chain_t *config_chain_find( config_chain_t *p_cfg, const char *psz_name )
-{
-    while( p_cfg && strcmp( p_cfg->psz_name, psz_name ) )
-    {
-        p_cfg = p_cfg->p_next;
-    }
-
-    return p_cfg;
-}
-
-static inline char *config_chain_find_value( config_chain_t *p_cfg, const char *psz_name )
-{
-    while( p_cfg && strcmp( p_cfg->psz_name, psz_name ) )
-    {
-        p_cfg = p_cfg->p_next;
-    }
-
-    if( p_cfg && p_cfg->psz_value )
-    {
-        return( p_cfg->psz_value );
-    }
-
-    return NULL;
-}
-
 # ifdef __cplusplus
 }
 # endif
+
+#endif /* _VLC_CONFIGURATION_H */