[commit] r8907 - in freeswitch/trunk/src: . include
Author: anthm Date: Mon Jul 7 13:36:47 2008 New Revision: 8907 Modified: freeswitch/trunk/src/include/switch_xml.h freeswitch/trunk/src/switch_xml.cpp Log: add switch_xml_unbind_search_function_ptr Modified: freeswitch/trunk/src/include/switch_xml.h ============================================================================== --- freeswitch/trunk/src/include/switch_xml.h (original) +++ freeswitch/trunk/src/include/switch_xml.h Mon Jul 7 13:36:47 2008 @@ -362,6 +362,7 @@ switch_xml_section_t sections, void *user_data, switch_xml_binding_t **binding); SWITCH_DECLARE(switch_status_t) switch_xml_unbind_search_function(switch_xml_binding_t **binding); +SWITCH_DECLARE(switch_status_t) switch_xml_unbind_search_function_ptr(switch_xml_search_function_t function); ///\brief parse a string for a list of sections ///\param str a | delimited list of section names Modified: freeswitch/trunk/src/switch_xml.cpp ============================================================================== --- freeswitch/trunk/src/switch_xml.cpp (original) +++ freeswitch/trunk/src/switch_xml.cpp Mon Jul 7 13:36:47 2008 @@ -166,6 +166,28 @@ return status; } +SWITCH_DECLARE(switch_status_t) switch_xml_unbind_search_function_ptr(switch_xml_search_function_t function) +{ + switch_xml_binding_t *ptr, *last = NULL; + switch_status_t status = SWITCH_STATUS_FALSE; + + switch_mutex_lock(XML_LOCK); + for (ptr = BINDINGS; ptr; ptr = ptr->next) { + if (ptr->function == function) { + if (last) { + last->next = ptr->next; + } else { + BINDINGS = ptr->next; + } + status = SWITCH_STATUS_SUCCESS; + } + last = ptr; + } + switch_mutex_unlock(XML_LOCK); + + return status; +} + SWITCH_DECLARE(switch_status_t) switch_xml_bind_search_function(switch_xml_search_function_t function, switch_xml_section_t sections, void *user_data) { switch_xml_binding_t *binding = NULL, *ptr = NULL;
participants (1)
-
Freeswitch SVN