summaryrefslogtreecommitdiff
path: root/include/xine/configfile.h
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2008-03-01 03:17:33 +0100
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2008-03-01 03:17:33 +0100
commit813c609ea30c3201eec34d4bba185566ad48c998 (patch)
treef93ff7fd2604bf9396d5f1712d3eaa2f6d044178 /include/xine/configfile.h
parente728b8f587ee41ff483e46fe50a4cb538c5df9e2 (diff)
parenta1508e2f58d2c4b32d032d798f6f137262717e7f (diff)
downloadxine-lib-813c609ea30c3201eec34d4bba185566ad48c998.tar.gz
xine-lib-813c609ea30c3201eec34d4bba185566ad48c998.tar.bz2
Merge from 1.2 tip.
--HG-- rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c
Diffstat (limited to 'include/xine/configfile.h')
-rw-r--r--include/xine/configfile.h35
1 files changed, 33 insertions, 2 deletions
diff --git a/include/xine/configfile.h b/include/xine/configfile.h
index 724a75245..e8f2c070e 100644
--- a/include/xine/configfile.h
+++ b/include/xine/configfile.h
@@ -148,6 +148,8 @@ struct config_values_s {
xine_config_cb_t changed_cb,
void *cb_data);
+ void (*register_entry) (config_values_t *self, cfg_entry_t* entry);
+
/** convenience function to update range, enum, num and bool values */
void (*update_num) (config_values_t *self, const char *key, int value);
@@ -167,7 +169,7 @@ struct config_values_s {
cfg_entry_t* (*lookup_entry) (config_values_t *self, const char *key);
/**
- * unregister callback function
+ * unregister entry callback function
*/
void (*unregister_callback) (config_values_t *self, const char *key);
@@ -176,12 +178,41 @@ struct config_values_s {
*/
void (*dispose) (config_values_t *self);
- /*
+ /**
+ * callback called when a new config entry is registered
+ */
+ void (*set_new_entry_callback) (config_values_t *self, xine_config_cb_t new_entry_cb, void *cb_data);
+
+ /**
+ * unregister the callback
+ */
+ void (*unset_new_entry_callback) (config_values_t *self);
+
+ /**
+ * serialize a config entry.
+ * return a base64 null terminated string.
+ */
+ char* (*get_serialized_entry) (config_values_t *self, const char *key);
+
+ /**
+ * deserialize a config entry.
+ * value is a base 64 encoded string
+ * return the key of the serialized entry
+ */
+ char* (*register_serialized_entry) (config_values_t *self, const char *value);
+
+ /**
* config values are stored here:
*/
cfg_entry_t *first, *last, *cur;
/**
+ * new entry callback
+ */
+ xine_config_cb_t new_entry_cb;
+ void *new_entry_cbdata;
+
+ /**
* mutex for modification to the config
*/
pthread_mutex_t config_lock;