diff options
author | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-09-05 20:19:48 +0000 |
---|---|---|
committer | Guenter Bartsch <guenter@users.sourceforge.net> | 2002-09-05 20:19:48 +0000 |
commit | c35a3e9d5068667992c1b104195de59721e23786 (patch) | |
tree | e6f5aae17dc0b565dd99825763438980d353433f /src/xine-engine/xine_interface.c | |
parent | 0a4b9224218ce85bbd13c7f5eefbfd8ddbbee4df (diff) | |
download | xine-lib-c35a3e9d5068667992c1b104195de59721e23786.tar.gz xine-lib-c35a3e9d5068667992c1b104195de59721e23786.tar.bz2 |
use xine_mrl_t instead of mrl_t in input plugins, implement more configfile functions
CVS patchset: 2615
CVS date: 2002/09/05 20:19:48
Diffstat (limited to 'src/xine-engine/xine_interface.c')
-rw-r--r-- | src/xine-engine/xine_interface.c | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/src/xine-engine/xine_interface.c b/src/xine-engine/xine_interface.c index fe8e822e3..a0c594c07 100644 --- a/src/xine-engine/xine_interface.c +++ b/src/xine-engine/xine_interface.c @@ -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_interface.c,v 1.2 2002/09/04 23:31:13 guenter Exp $ + * $Id: xine_interface.c,v 1.3 2002/09/05 20:19:50 guenter Exp $ * * convenience/abstraction layer, functions to implement * libxine's public interface @@ -238,13 +238,44 @@ xine_cfg_entry_t *xine_config_lookup_entry (xine_t *this, char *key) { */ void xine_config_update_entry (xine_t *this, xine_cfg_entry_t *entry){ printf ("xine_interface: xine_config_update_entry: not implemented\n"); - abort(); + + switch (entry->type) { + case XINE_CONFIG_TYPE_RANGE: + case XINE_CONFIG_TYPE_ENUM: + case XINE_CONFIG_TYPE_NUM: + case XINE_CONFIG_TYPE_BOOL: + this->config->update_num (this->config, entry->key, entry->num_value); + break; + + case XINE_CONFIG_TYPE_STRING: + this->config->update_string (this->config, entry->key, entry->str_value); + break; + + default: + printf ("xine_interface: error, unknown config entry type %d\n", + entry->type); + abort(); + } } void xine_reset_config (xine_t *this){ - printf ("xine_interface: xine_reset_config: not implemented\n"); - abort(); + + config_values_t *config = this->config; + cfg_entry_t *entry; + + config->cur = NULL; + + entry = config->first; + while (entry) { + cfg_entry_t *next; + next = entry->next; + free (entry); + entry = next; + } + + config->first = NULL; + config->last = NULL; } int xine_gui_send_vo_data (xine_t *this, |