VLC_CONFIG_DESC,
/* description (args=const char *, const char *, const char *) */
- VLC_CONFIG_LIST,
- /* possible values list
- * (args=const char *, size_t, const <type> *, const char *const *) */
+ VLC_CONFIG_LIST_OBSOLETE,
+ /* unused (ignored) */
VLC_CONFIG_ADD_ACTION_OBSOLETE,
/* unused (ignored) */
+ VLC_CONFIG_LIST,
+ /* list of suggested values
+ * (args=size_t, const <type> *, const char *const *) */
+
+ VLC_CONFIG_LIST_CB,
+ /* callback for suggested values (args=size_t (*)(<type> **, char ***)) */
+
/* Insert new VLC_CONFIG_* here */
};
vlc_config_set (VLC_CONFIG_LIST, \
(size_t)(sizeof (list) / sizeof (char *)), \
(const char *const *)(list), \
- (const char *const *)(list_text), \
- (vlc_callback_t)NULL);
+ (const char *const *)(list_text));
#define change_string_cb( cb ) \
- vlc_config_set (VLC_CONFIG_LIST, 0, NULL, NULL, (vlc_callback_t)(cb));
+ vlc_config_set (VLC_CONFIG_LIST_CB, (cb));
#define change_integer_list( list, list_text ) \
vlc_config_set (VLC_CONFIG_LIST, \
(size_t)(sizeof (list) / sizeof (int)), \
(const int *)(list), \
- (const char *const *)(list_text), \
- (vlc_callback_t)(NULL));
+ (const char *const *)(list_text));
#define change_integer_range( minv, maxv ) \
vlc_config_set (VLC_CONFIG_RANGE, (int64_t)(minv), (int64_t)(maxv));
dtext[len] = NULL;
}
item->ppsz_list_text = dtext;
-
item->i_list = len;
- item->pf_update_list = va_arg (ap, vlc_callback_t);
break;
}
+ case VLC_CONFIG_LIST_CB:
+ item->pf_update_list = va_arg (ap, vlc_callback_t);
+ break;
+
default:
fprintf (stderr, "LibVLC: unknown module property %d\n", propid);
fprintf (stderr, "LibVLC: too old to use this module?\n");