From 0100d0fdcdf2f0812e9f1d59aae913dea4321881 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Tue, 19 Dec 2006 21:12:44 +0000 Subject: Mark string-type configuration items according to whether they're plain strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. CVS patchset: 8427 CVS date: 2006/12/19 21:12:44 --- include/xine.h.in | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/include/xine.h.in b/include/xine.h.in index 2352cb2a9..0605ba7a9 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.h.in,v 1.160 2006/10/28 18:51:08 miguelfreitas Exp $ + * $Id: xine.h.in,v 1.161 2006/12/19 21:12:44 dsalt Exp $ * * public xine-lib (libxine) interface and documentation * @@ -1313,6 +1313,12 @@ xine_health_check_t* xine_health_check(xine_health_check_t*, int check_num) XINE #define XINE_CONFIG_TYPE_NUM 4 #define XINE_CONFIG_TYPE_BOOL 5 +/* For the string type (1.1.4 and later). These are stored in num_value. */ +#define XINE_CONFIG_STRING_IS_STRING 0 +#define XINE_CONFIG_STRING_IS_FILENAME 1 +#define XINE_CONFIG_STRING_IS_DEVICE_NAME 2 +#define XINE_CONFIG_STRING_IS_DIRECTORY_NAME 3 + typedef struct xine_cfg_entry_s xine_cfg_entry_t; typedef void (*xine_config_cb_t) (void *user_data, @@ -1334,7 +1340,10 @@ struct xine_cfg_entry_s { void *dummy; #endif - /* common to range, enum, num, bool: */ + /* common to range, enum, num, bool; + * num_value is also used by string to indicate what's required: + * plain string, file name, device name, directory name + */ int num_value; int num_default; @@ -1377,6 +1386,16 @@ const char *xine_config_register_string (xine_t *self, xine_config_cb_t changed_cb, void *cb_data) XINE_PROTECTED; +const char *xine_config_register_filename (xine_t *self, + const char *key, + const char *def_value, + int req_type, /* XINE_CONFIG_STRING_IS_* */ + const char *description, + const char *help, + int exp_level, + xine_config_cb_t changed_cb, + void *cb_data) XINE_PROTECTED; + int xine_config_register_range (xine_t *self, const char *key, int def_value, -- cgit v1.2.3