| /******************************************************************************* |
| * Copyright (C) 2004-2006 Intel Corp. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are met: |
| * |
| * - Redistributions of source code must retain the above copyright notice, |
| * this list of conditions and the following disclaimer. |
| * |
| * - Redistributions in binary form must reproduce the above copyright notice, |
| * this list of conditions and the following disclaimer in the documentation |
| * and/or other materials provided with the distribution. |
| * |
| * - Neither the name of Intel Corp. nor the names of its |
| * contributors may be used to endorse or promote products derived from this |
| * software without specific prior written permission. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' |
| * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS |
| * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| * POSSIBILITY OF SUCH DAMAGE. |
| *******************************************************************************/ |
| |
| /** |
| * @author Anas Nashif |
| * @author Eugene Yarmosh |
| */ |
| |
| |
| /** |
| * @addtogroup XMLParserGeneric |
| * |
| * @{ |
| */ |
| |
| #ifndef XML_API_GENERIC_H_ |
| #define XML_API_GENERIC_H_ |
| |
| #include "wsman-xml-api.h" |
| |
| |
| struct __WsXmlParserData { |
| WsXmlDocH nsHolder; |
| void *_private; |
| }; |
| typedef struct __WsXmlParserData WsXmlParserData; |
| |
| |
| |
| #define xml_parser_get_first_child(x) xml_parser_node_get(x, 0) |
| #define xml_parser_get_next_child(x) xml_parser_node_get(x, XML_ELEMENT_NEXT) |
| |
| |
| |
| struct _WsXmlFindNsData { |
| const char *prefix; |
| const char *nsUri; |
| WsXmlNodeH node; |
| WsXmlNsH ns; |
| }; |
| typedef struct _WsXmlFindNsData WsXmlFindNsData; |
| |
| struct _FindInTreeCallbackData { |
| const char *ns; |
| const char *name; |
| WsXmlNodeH node; |
| }; |
| typedef struct _FindInTreeCallbackData FindInTreeCallbackData; |
| |
| struct __WsXmlDumpNodeTreeData { |
| FILE *stream; |
| int indent; |
| }; |
| typedef struct __WsXmlDumpNodeTreeData WsXmlDumpNodeTreeData; |
| |
| WsXmlDocH ws_xml_create_envelope(void); |
| |
| WsXmlDocH ws_xml_duplicate_doc(WsXmlDocH srcDoc); |
| |
| WsXmlDocH ws_xml_create_doc_by_import(WsXmlNodeH node); |
| |
| //SoapH ws_xml_get_doc_soap_handle(WsXmlDocH doc); |
| |
| int ws_xml_parser_initialize(void); |
| |
| void ws_xml_parser_destroy(void); |
| |
| int ws_xml_get_child_count(WsXmlNodeH parent); |
| |
| char *ws_xml_get_node_name_ns_uri(WsXmlNodeH node); |
| |
| char *ws_xml_get_node_name_ns_prefix(WsXmlNodeH node); |
| |
| WsXmlDocH ws_xml_read_file(const char *filename, |
| const char *encoding, unsigned long options); |
| |
| WsXmlDocH ws_xml_read_memory(const char *buf, size_t size, |
| const char *encoding, unsigned long options); |
| |
| WsXmlDocH ws_xml_create_doc( const char *rootNsUri, const char *rootName); |
| |
| int ws_xml_check_xpath(WsXmlDocH doc, const char *xpath_expr); |
| |
| int ws_xml_utf8_strlen(char *buf); |
| |
| void ws_xml_set_node_lang(WsXmlNodeH node, const char *lang); |
| |
| void ws_xml_unlink_node(WsXmlNodeH node); |
| |
| //to check if the size of envelop exceeds a maxium size |
| int check_envelope_size(WsXmlDocH doc, unsigned int size, const char *charset); |
| |
| /** @} */ |
| |
| #endif /*XML_API_GENERIC_H_ */ |