Alexandre Julliard : include: Correctly define the msxml typelib by directly including xmldom. idl and xmldso.idl.
Alexandre Julliard
julliard at winehq.org
Tue Dec 21 14:32:18 CST 2010
Module: wine
Branch: master
Commit: f6b6c7bade8fe07bb8d0065be55686093ea5bc23
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f6b6c7bade8fe07bb8d0065be55686093ea5bc23
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Dec 21 11:40:04 2010 +0100
include: Correctly define the msxml typelib by directly including xmldom.idl and xmldso.idl.
---
.gitignore | 2 --
dlls/gameux/gameexplorer.c | 1 -
dlls/mscoree/mscoree_main.c | 2 --
dlls/msxml3/factory.c | 1 -
dlls/msxml3/regsvr.c | 2 --
dlls/msxml3/tests/domdoc.c | 1 -
dlls/msxml3/tests/schema.c | 1 -
dlls/msxml3/tests/xmlelem.c | 1 -
dlls/msxml3/uuid.c | 2 --
dlls/uuid/uuid.c | 2 --
include/Makefile.in | 5 +++--
include/msxml.idl | 17 +++++++++++++++++
include/msxml2.idl | 5 +++--
include/msxml6.idl | 5 +++--
include/xmldom.h | 20 ++++++++++++++++++++
include/xmldom.idl | 6 +++---
include/xmldso.idl | 3 ---
tools/make_makefiles | 2 ++
18 files changed, 51 insertions(+), 27 deletions(-)
diff --git a/.gitignore b/.gitignore
index 95b9fe9..31b5dcb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -252,8 +252,6 @@ include/wine/winedxgi.h
include/winsxs.h
include/wtypes.h
include/wuapi.h
-include/xmldom.h
-include/xmldso.h
include/xmllite.h
libs/wpp/ppl.yy.c
libs/wpp/ppy.tab.c
diff --git a/dlls/gameux/gameexplorer.c b/dlls/gameux/gameexplorer.c
index ea9307b..096e48e 100644
--- a/dlls/gameux/gameexplorer.c
+++ b/dlls/gameux/gameexplorer.c
@@ -23,7 +23,6 @@
#include "ole2.h"
#include "sddl.h"
-#include "xmldom.h"
#include "gameux.h"
#include "gameux_private.h"
diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c
index e63a1db..1f2cfb0 100644
--- a/dlls/mscoree/mscoree_main.c
+++ b/dlls/mscoree/mscoree_main.c
@@ -32,8 +32,6 @@
#include "ole2.h"
#include "ocidl.h"
#include "shellapi.h"
-#include "xmldom.h"
-#include "xmldso.h"
#include "initguid.h"
#include "msxml2.h"
diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c
index 4e7d29e..8ad1abc 100644
--- a/dlls/msxml3/factory.c
+++ b/dlls/msxml3/factory.c
@@ -29,7 +29,6 @@
#include "winuser.h"
#include "ole2.h"
#include "msxml.h"
-#include "xmldom.h"
#include "msxml2.h"
/* undef the #define in msxml2 so that we can access the v.2 version
diff --git a/dlls/msxml3/regsvr.c b/dlls/msxml3/regsvr.c
index ca1cc12..7097b41 100644
--- a/dlls/msxml3/regsvr.c
+++ b/dlls/msxml3/regsvr.c
@@ -34,8 +34,6 @@
#include "winerror.h"
#include "ole2.h"
#include "msxml.h"
-#include "xmldom.h"
-#include "xmldso.h"
#include "msxml6.h"
/* undef the #define in msxml2 so that we can access the v.2 version
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 6c2bf25..d821bac 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -26,7 +26,6 @@
#include "windows.h"
#include "ole2.h"
#include "objsafe.h"
-#include "xmldom.h"
#include "msxml2.h"
#include "msxml2did.h"
#include "dispex.h"
diff --git a/dlls/msxml3/tests/schema.c b/dlls/msxml3/tests/schema.c
index 9e8494a..2b20603 100644
--- a/dlls/msxml3/tests/schema.c
+++ b/dlls/msxml3/tests/schema.c
@@ -26,7 +26,6 @@
#include "initguid.h"
#include "windows.h"
#include "ole2.h"
-#include "xmldom.h"
#include "msxml2.h"
#include "dispex.h"
diff --git a/dlls/msxml3/tests/xmlelem.c b/dlls/msxml3/tests/xmlelem.c
index f38d515..e591494 100644
--- a/dlls/msxml3/tests/xmlelem.c
+++ b/dlls/msxml3/tests/xmlelem.c
@@ -24,7 +24,6 @@
#include "windows.h"
#include "ole2.h"
-#include "xmldom.h"
#include "msxml2.h"
#include "ocidl.h"
diff --git a/dlls/msxml3/uuid.c b/dlls/msxml3/uuid.c
index a3c7965..4abbe5e 100644
--- a/dlls/msxml3/uuid.c
+++ b/dlls/msxml3/uuid.c
@@ -35,8 +35,6 @@
* First include the version 2 headers so that we don't redefine their
* uuids - they're already in libuuid
*/
-#include "xmldom.h"
-#include "xmldso.h"
#include "msxml.h"
/* Now we can initialize the rest of the uuids */
diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c
index f8d19e2..8df7334 100644
--- a/dlls/uuid/uuid.c
+++ b/dlls/uuid/uuid.c
@@ -63,8 +63,6 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
#include "mshtml.h"
#include "mshtmhst.h"
#include "richole.h"
-#include "xmldom.h"
-#include "xmldso.h"
#include "downloadmgr.h"
#include "objsel.h"
#include "hlink.h"
diff --git a/include/Makefile.in b/include/Makefile.in
index ae0e842..d31bd74 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -101,8 +101,6 @@ PUBLIC_IDL_H_SRCS = \
winsxs.idl \
wtypes.idl \
wuapi.idl \
- xmldom.idl \
- xmldso.idl \
xmllite.idl
IDL_TLB_SRCS = \
@@ -549,7 +547,10 @@ SRCDIR_INCLUDES = \
wtsapi32.h \
xcmc.h \
xinput.h \
+ xmldom.h \
+ xmldom.idl \
xmldomdid.h \
+ xmldso.idl \
xmldsodid.h \
zmouse.h
diff --git a/include/msxml.idl b/include/msxml.idl
index 8c2496b..62dbcfa 100644
--- a/include/msxml.idl
+++ b/include/msxml.idl
@@ -18,6 +18,8 @@
*/
#include <msxmldid.h>
+#include <msxml2did.h>
+#include <idispids.h>
#ifndef DO_NO_IMPORTS
import "unknwn.idl";
@@ -27,6 +29,19 @@ import "oaidl.idl";
#endif
[
+ uuid(d63e0ce2-a0a2-11d0-9c02-00c04fc99c8e),
+ version(2.0),
+ helpstring("Microsoft XML, v2.0")
+]
+library MSXML
+{
+
+importlib("stdole2.tlb");
+
+#include <xmldom.idl>
+#include <xmldso.idl>
+
+[
local,
object,
odl,
@@ -334,3 +349,5 @@ coclass XMLDocument
{
[default] interface IXMLDocument;
}
+
+} /* Library MSXML */
diff --git a/include/msxml2.idl b/include/msxml2.idl
index d91ba47..c5738d2 100644
--- a/include/msxml2.idl
+++ b/include/msxml2.idl
@@ -107,7 +107,8 @@ interface ISchemaNotation;
cpp_quote("#define DOMDocument DOMDocument2")
cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2")
-cpp_quote("#ifndef __WIDL_XMLDOM_H")
+cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
+cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
typedef enum tagDOMNodeType
{
NODE_INVALID = 0,
@@ -124,7 +125,7 @@ typedef enum tagDOMNodeType
NODE_DOCUMENT_FRAGMENT = 11,
NODE_NOTATION = 12
} DOMNodeType;
-cpp_quote("#endif /* __WIDL_XMLDOM_H */")
+cpp_quote("#endif")
typedef enum _SOMITEMTYPE
{
diff --git a/include/msxml6.idl b/include/msxml6.idl
index 45cef98..565f65e 100644
--- a/include/msxml6.idl
+++ b/include/msxml6.idl
@@ -113,7 +113,8 @@ interface ISchemaNotation;
cpp_quote("#define DOMDocument DOMDocument2")
cpp_quote("#define CLSID_DOMDocument CLSID_DOMDocument2")
-cpp_quote("#ifndef __WIDL_XMLDOM_H")
+cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
+cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
typedef enum tagDOMNodeType
{
NODE_INVALID = 0,
@@ -130,7 +131,7 @@ typedef enum tagDOMNodeType
NODE_DOCUMENT_FRAGMENT = 11,
NODE_NOTATION = 12
} DOMNodeType;
-cpp_quote("#endif /* __WIDL_XMLDOM_H */")
+cpp_quote("#endif")
typedef enum _SOMITEMTYPE
{
diff --git a/include/xmldom.h b/include/xmldom.h
new file mode 100644
index 0000000..b774b30
--- /dev/null
+++ b/include/xmldom.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2010 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* xmldom.idl is included by msxml.idl so it doesn't need a stand-alone header */
+#include <msxml.h>
diff --git a/include/xmldom.idl b/include/xmldom.idl
index d5d51ff..d47c06e 100644
--- a/include/xmldom.idl
+++ b/include/xmldom.idl
@@ -19,8 +19,6 @@
#include <xmldomdid.h>
#include <idispids.h>
-import "ocidl.idl";
-
interface IXMLDOMImplementation;
interface IXMLDOMNode;
interface IXMLDOMDocumentFragment;
@@ -39,8 +37,9 @@ interface IXMLDOMNotation;
interface IXMLDOMEntity;
interface IXMLDOMEntityReference;
interface IXMLDOMParseError;
-interface IXTLRuntime;
+cpp_quote("#ifndef __MSXML_DOMNODETYPE_DEFINED")
+cpp_quote("#define __MSXML_DOMNODETYPE_DEFINED")
typedef enum tagDOMNodeType {
NODE_INVALID,
NODE_ELEMENT,
@@ -56,6 +55,7 @@ typedef enum tagDOMNodeType {
NODE_DOCUMENT_FRAGMENT,
NODE_NOTATION
} DOMNodeType;
+cpp_quote("#endif")
[
local,
diff --git a/include/xmldso.idl b/include/xmldso.idl
index 14f66a1..c203422 100644
--- a/include/xmldso.idl
+++ b/include/xmldso.idl
@@ -16,9 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-import "wtypes.idl";
-import "ocidl.idl";
-
#include <idispids.h>
#include <xmldsodid.h>
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 29cb8d6..4c00814 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -156,6 +156,8 @@ my %private_idl_headers = (
"rstloc.idl" => 1,
"sesprp.idl" => 1,
"vmrender.idl" => 1,
+ "xmldom.idl" => 1,
+ "xmldso.idl" => 1,
"wine/wined3d.idl" => 1,
"wine/winedxgi.idl" => 1,
);
More information about the wine-cvs
mailing list