]> git.sesse.net Git - vlc/blobdiff - include/vlc_configuration.h
maven2 project structure
[vlc] / include / vlc_configuration.h
index ac427a80975d6f3ecee31a691b179143d26d7e64..c0ee83a31672588957524be3ae9943950c2c0110 100644 (file)
@@ -169,6 +169,7 @@ struct module_config_t
     int         *pi_list;                              /* Idem for integers */
     char       **ppsz_list_text;          /* Friendly names for list values */
     int          i_list;                               /* Options list size */
+    vlc_callback_t pf_update_list; /*callback to initialize dropdownlists */
 
     /* Actions list */
     vlc_callback_t *ppf_action;    /* List of possible actions for a config */
@@ -189,7 +190,9 @@ struct module_config_t
 
     /* Option values loaded from config file */
     vlc_bool_t   b_autosave;      /* Config will be auto-saved at exit time */
-    vlc_bool_t   b_unsaveable;                    /* Config should be saved */
+    vlc_bool_t   b_unsaveable;                /* Config should not be saved */
+
+    vlc_bool_t   b_safe;
 };
 
 /*****************************************************************************
@@ -279,6 +282,9 @@ enum vlc_config_properties
 
     VLC_CONFIG_OLDNAME,
     /* former option name (args=const char *) */
+
+    VLC_CONFIG_SAFE,
+    /* tag as modifiable by untrusted input item "sources" (args=none) */
 };
 
 
@@ -430,19 +436,22 @@ VLC_EXPORT( int, vlc_config_set, (module_config_t *, int, ...) );
     vlc_config_set (p_config, VLC_CONFIG_LIST, \
                     (size_t)(sizeof (list) / sizeof (char *)), \
                     (const char *const *)(list), \
-                    (const char *const *)(list_text))
+                    (const char *const *)(list_text), \
+                    list_update_func)
 
 #define change_integer_list( list, list_text, list_update_func ) \
     vlc_config_set (p_config, VLC_CONFIG_LIST, \
                     (size_t)(sizeof (list) / sizeof (int)), \
                     (const int *)(list), \
-                    (const char *const *)(list_text))
+                    (const char *const *)(list_text), \
+                    list_update_func)
 
 #define change_float_list( list, list_text, list_update_func ) \
     vlc_config_set (p_config, VLC_CONFIG_LIST, \
                     (size_t)(sizeof (list) / sizeof (float)), \
                     (const float *)(list), \
-                    (const char *const *)(list_text))
+                    (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))
@@ -467,6 +476,11 @@ VLC_EXPORT( int, vlc_config_set, (module_config_t *, int, ...) );
 #define change_unsaveable() \
     vlc_config_set (p_config, VLC_CONFIG_VOLATILE)
 
+#define change_unsafe() (void)0 /* no-op */
+
+#define change_safe() \
+    vlc_config_set (p_config, VLC_CONFIG_SAFE)
+
 /****************************************************************************
  * config_chain_t:
  ****************************************************************************/