From 7a34d5bafba4913313b8cd8ebd8b673e343f8c29 Mon Sep 17 00:00:00 2001 From: Mathieu Rene Date: Sat, 6 Jun 2009 19:10:37 +0000 Subject: [PATCH] xml_config tweaks git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13665 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/include/switch_xml_config.h | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/include/switch_xml_config.h b/src/include/switch_xml_config.h index 35bb0d7e75..f66b447b0a 100644 --- a/src/include/switch_xml_config.h +++ b/src/include/switch_xml_config.h @@ -98,11 +98,32 @@ struct switch_xml_config_item { char *helptext; /*< Optional documentation text for this setting */ }; -#define SWITCH_CONFIG_ITEM(_key, _type, _flags, _ptr, _defaultvalue, _data, _syntax, _helptext) { _key, _type, _flags, _ptr, _defaultvalue, _data, NULL, _syntax, _helptext } -#define SWITCH_CONFIG_ITEM_STRING_STRDUP(_key, _flags, _ptr, _defaultvalue, _syntax, _helptext) { _key, SWITCH_CONFIG_STRING, _flags, _ptr, _defaultvalue, &switch_config_string_strdup, NULL, _helptext} -#define SWITCH_CONFIG_ITEM_CALLBACK(_key, _type, _flags, _ptr, _defaultvalue, _data, _functiondata, _syntax, _helptext) { _key, _type, _flags, _ptr, _defaultvalue, _functiondata, _data, _syntax, _helptext } +#define SWITCH_CONFIG_ITEM(_key, _type, _flags, _ptr, _defaultvalue, _data, _syntax, _helptext) { _key, _type, _flags, _ptr, (void*)_defaultvalue, (void*)_data, NULL, _syntax, _helptext } +#define SWITCH_CONFIG_ITEM_STRING_STRDUP(_key, _flags, _ptr, _defaultvalue, _syntax, _helptext) { _key, SWITCH_CONFIG_STRING, _flags, _ptr, (void*)_defaultvalue, &switch_config_string_strdup, NULL, _syntax, _helptext } +#define SWITCH_CONFIG_ITEM_CALLBACK(_key, _type, _flags, _ptr, _defaultvalue, _function, _functiondata, _syntax, _helptext) { _key, _type, _flags, _ptr, (void*)_defaultvalue, _functiondata, _function, _syntax, _helptext } #define SWITCH_CONFIG_ITEM_END() { NULL, SWITCH_CONFIG_LAST, 0, NULL, NULL, NULL, NULL, NULL, NULL } +#define SWITCH_CONFIG_SET_ITEM(_item, _key, _type, _flags, _ptr, _defaultvalue, _data, _syntax, _helptext) \ + _item.key = _key; \ + _item.type = _type; \ + _item.flags = _flags; \ + _item.ptr = _ptr; \ + _item.defaultvalue = (void*)_defaultvalue; \ + _item.data = (void*)_data; \ + _item.syntax = _syntax; \ + _item.helptext = _helptext + +#define SWITCH_CONFIG_SET_ITEM_CALLBACK(_item, _key, _type, _flags, _ptr, _defaultvalue, _function, _syntax, _helptext) \ + _item.key = _key; \ + _item.type = _type; \ + _item.flags = _flags; \ + _item.ptr = ptr; \ + _item.defaultvalue = (void*)_defaultvalue; \ + _item.data = (void*)_data; \ + _item.function = _function \ + _item.syntax = _syntax; \ + _item.helptext = _helptext + /*! * \brief Gets the int representation of an enum * \param enum_options the switch_xml_config_enum_item_t array for this enum