Make each IXMLDOMNode interface represent one libxml2 xmlNodePtr.
[wine/wine-kai.git] / dlls / msxml3 / msxml_private.h
blob788343ce788bd8b815fb23cf0fc12fa86f367e9a
1 /*
2 * MSXML Class Factory
4 * Copyright 2005 Mike McCormack
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __MSXML_PRIVATE__
22 #define __MSXML_PRIVATE__
24 #include "xmldom.h"
26 #ifdef HAVE_LIBXML2
28 #ifdef HAVE_LIBXML_PARSER_H
29 #include <libxml/parser.h>
30 #endif
32 /* constructors */
33 extern IXMLDOMNode *create_domdoc_node( xmlDocPtr node );
34 extern IUnknown *create_domdoc( void );
35 extern IXMLDOMNode *create_attribute_node( xmlAttrPtr attr );
36 extern IUnknown *create_xmldoc( void );
37 extern IXMLDOMElement *create_element( xmlNodePtr element );
38 extern IXMLDOMNode *create_element_node( xmlNodePtr element );
39 extern IXMLDOMNamedNodeMap *create_nodemap( IXMLDOMNode *node );
40 extern IXMLDOMNode *create_generic_node( xmlNodePtr node );
41 extern IXMLDOMNodeList *create_nodelist( xmlNodePtr node );
43 /* data accessors */
44 xmlNodePtr xmlNodePtr_from_domnode( IXMLDOMNode *iface, xmlElementType type );
46 /* helpers */
47 extern xmlChar *xmlChar_from_wchar( LPWSTR str );
48 extern BSTR bstr_from_xmlChar( const xmlChar *buf );
50 #endif
52 extern HRESULT DOMDocument_create( IUnknown *pUnkOuter, LPVOID *ppObj );
54 #endif /* __MSXML_PRIVATE__ */