diff --git a/.gitignore b/.gitignore index 31b5dcb7e0e..75e33da41b6 100644 --- a/.gitignore +++ b/.gitignore @@ -94,6 +94,7 @@ dlls/msi/sql.tab.c dlls/msi/sql.tab.h dlls/mstask/mstask_local.h dlls/mstask/mstask_local_i.c +dlls/msxml/msxml_tlb.tlb dlls/msxml3/msxml3_v1.tlb dlls/msxml3/xslpattern.tab.c dlls/msxml3/xslpattern.tab.h diff --git a/configure b/configure index a83e6b7e618..00fbb6f1de0 100755 --- a/configure +++ b/configure @@ -15065,6 +15065,7 @@ wine_fn_config_test dlls/msvfw32/tests msvfw32_test wine_fn_config_dll msvidc32 enable_msvidc32 wine_fn_config_dll msvideo.dll16 enable_win16 wine_fn_config_dll mswsock enable_mswsock mswsock +wine_fn_config_dll msxml enable_msxml wine_fn_config_dll msxml3 enable_msxml3 wine_fn_config_test dlls/msxml3/tests msxml3_test wine_fn_config_dll msxml4 enable_msxml4 diff --git a/configure.ac b/configure.ac index 0706192aafb..1250730f5fc 100644 --- a/configure.ac +++ b/configure.ac @@ -2611,6 +2611,7 @@ WINE_CONFIG_TEST(dlls/msvfw32/tests) WINE_CONFIG_DLL(msvidc32) WINE_CONFIG_DLL(msvideo.dll16,enable_win16) WINE_CONFIG_DLL(mswsock,,[mswsock]) +WINE_CONFIG_DLL(msxml) WINE_CONFIG_DLL(msxml3) WINE_CONFIG_TEST(dlls/msxml3/tests) WINE_CONFIG_DLL(msxml4) diff --git a/dlls/msxml/Makefile.in b/dlls/msxml/Makefile.in new file mode 100644 index 00000000000..25c45bc65d3 --- /dev/null +++ b/dlls/msxml/Makefile.in @@ -0,0 +1,10 @@ +MODULE = msxml.dll + +C_SRCS = main.c + +IDL_TLB_SRCS = msxml_tlb.idl +IDL_R_SRCS = msxml_tlb.idl + +RC_SRCS = rsrc.rc + +@MAKE_DLL_RULES@ diff --git a/dlls/msxml/main.c b/dlls/msxml/main.c new file mode 100644 index 00000000000..008c0a9673f --- /dev/null +++ b/dlls/msxml/main.c @@ -0,0 +1,63 @@ +/* + * MSXML implementation + * + * 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 + */ + +#include +#include "windef.h" +#include "winbase.h" +#include "objbase.h" +#include "rpcproxy.h" + +static HINSTANCE instance; + +BOOL WINAPI DllMain(HINSTANCE hinstance, DWORD reason, LPVOID reserved) +{ + switch (reason) + { + case DLL_PROCESS_ATTACH: + instance = hinstance; + DisableThreadLibraryCalls(hinstance); + break; + } + return TRUE; +} + +/*********************************************************************** + * DllCanUnloadNow (MSXML.@) + */ +HRESULT WINAPI DllCanUnloadNow(void) +{ + return S_FALSE; +} + +/*********************************************************************** + * DllRegisterServer (MSXML.@) + */ +HRESULT WINAPI DllRegisterServer(void) +{ + return __wine_register_resources( instance, NULL ); +} + +/*********************************************************************** + * DllUnregisterServer (MSXML.@) + */ +HRESULT WINAPI DllUnregisterServer(void) +{ + return __wine_unregister_resources( instance, NULL ); +} diff --git a/dlls/msxml/msxml.spec b/dlls/msxml/msxml.spec new file mode 100644 index 00000000000..5fd4c2841f9 --- /dev/null +++ b/dlls/msxml/msxml.spec @@ -0,0 +1,4 @@ +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetClassObject(ptr ptr ptr) msxml3.DllGetClassObject +@ stdcall -private DllRegisterServer() +@ stdcall -private DllUnregisterServer() diff --git a/dlls/msxml/msxml_tlb.idl b/dlls/msxml/msxml_tlb.idl new file mode 100644 index 00000000000..8ad22a2fc71 --- /dev/null +++ b/dlls/msxml/msxml_tlb.idl @@ -0,0 +1,19 @@ +/* + * 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 + */ + +#include "msxml.idl" diff --git a/dlls/msxml/rsrc.rc b/dlls/msxml/rsrc.rc new file mode 100644 index 00000000000..9537637ea80 --- /dev/null +++ b/dlls/msxml/rsrc.rc @@ -0,0 +1,22 @@ +/* + * Resources for msxml + * + * 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 + */ + +/* @makedep: msxml_tlb.tlb */ +1 TYPELIB msxml_tlb.tlb