]> git.sesse.net Git - vlc/blobdiff - include/vlc_configuration.h
Qt4 - New volume icons. Still to be worked out.
[vlc] / include / vlc_configuration.h
index bdbb11026492436f7f7297e096a8c62f8e899b68..dc52c3793951beab39a604da39664dd4fdaa398e 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
+#if !defined( __LIBVLC__ )
+  #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
@@ -57,37 +65,11 @@ extern "C" {
 #define CONFIG_ITEM_MODULE_CAT              0x0090  /* Module option */
 #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
  *******************************************************************/
@@ -180,31 +162,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 */
 };
 
 /*****************************************************************************
@@ -229,7 +211,7 @@ 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 ));
 
 #define config_GetType(a,b) __config_GetType(VLC_OBJECT(a),b)
 #define config_GetInt(a,b) __config_GetInt(VLC_OBJECT(a),b)
@@ -313,6 +295,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 )
 
@@ -358,32 +343,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 ) \
@@ -446,7 +431,7 @@ 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 * ) );
 
@@ -478,3 +463,5 @@ static inline char *config_chain_find_value( config_chain_t *p_cfg, const char *
 # ifdef __cplusplus
 }
 # endif
+
+#endif /* _VLC_CONFIGURATION_H */