1 #ifndef COIN_XML_TYPES_H 2 #define COIN_XML_TYPES_H 3 4 /**************************************************************************\ 5 * Copyright (c) Kongsberg Oil & Gas Technologies AS 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions are 10 * met: 11 * 12 * Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the following disclaimer. 14 * 15 * Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 19 * Neither the name of the copyright holder nor the names of its 20 * contributors may be used to endorse or promote products derived from 21 * this software without specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 \**************************************************************************/ 35 36 #include <Inventor/C/basic.h> 37 38 /* ********************************************************************** */ 39 40 #define COIN_XML_CDATA_TYPE "cdata" 41 #define COIN_XML_ROOT_TYPE "root" 42 43 typedef struct cc_xml_doc cc_xml_doc; 44 typedef struct cc_xml_elt cc_xml_elt; 45 typedef struct cc_xml_attr cc_xml_attr; 46 typedef struct cc_xml_ent cc_xml_ent; 47 typedef struct cc_xml_path cc_xml_path; 48 49 /* non-abbreviated aliases */ 50 typedef cc_xml_doc cc_xml_document; 51 typedef cc_xml_elt cc_xml_element; 52 typedef cc_xml_attr cc_xml_attribute; 53 typedef cc_xml_ent cc_xml_entity; 54 55 /* streaming parsing */ 56 enum cc_xml_filter_choice { 57 KEEP, 58 DISCARD 59 }; 60 61 typedef cc_xml_filter_choice cc_xml_filter_cb(void * userdata, cc_xml_doc * doc, cc_xml_elt * elt, int pushing); 62 63 /* ********************************************************************** */ 64 65 #ifdef __cplusplus 66 67 #if 0 68 class SbXmlDocument; 69 class SbXmlElement; 70 class SbXmlAttribute; 71 class SbXmlEntity; 72 class SbXmlPath; 73 74 SbXmlDocument * COIN_DLL_API cc_xml_wrap(cc_xml_doc * doc, int pass_ownership = FALSE); 75 SbXmlElement * COIN_DLL_API cc_xml_wrap(cc_xml_elt * elt, int pass_ownership = FALSE); 76 SbXmlAttribute * COIN_DLL_API cc_xml_wrap(cc_xml_attr * attr, int pass_ownership = FALSE); 77 SbXmlEntity * COIN_DLL_API cc_xml_wrap(cc_xml_ent * ent, int pass_ownership = FALSE); 78 SbXmlPath * COIN_DLL_API cc_xml_wrap(cc_xml_path * path, int pass_ownership = FALSE); 79 80 cc_xml_doc * COIN_DLL_API cc_xml_unwrap(SbXmlDocument * doc, int pass_ownership = FALSE); 81 cc_xml_elt * COIN_DLL_API cc_xml_unwrap(SbXmlElement * elt, int pass_ownership = FALSE); 82 cc_xml_attr * COIN_DLL_API cc_xml_unwrap(SbXmlAttribute * attr, int pass_ownership = FALSE); 83 cc_xml_ent * COIN_DLL_API cc_xml_unwrap(SbXmlEntity * ent, int pass_ownership = FALSE); 84 cc_xml_path * COIN_DLL_API cc_xml_unwrap(SbXmlPath * path, int pass_ownership = FALSE); 85 #endif /* 0 */ 86 87 #endif /* __cplusplus */ 88 89 /* ********************************************************************** */ 90 91 #endif /* !COIN_XML_TYPES_H */ 92