Author: akhaldi
Date: Sat Sep 14 17:42:03 2013
New Revision: 60107
URL:
http://svn.reactos.org/svn/reactos?rev=60107&view=rev
Log:
[ATL80]
* Import from Wine 1.7.1.
Added:
trunk/reactos/dll/win32/atl80/ (with props)
trunk/reactos/dll/win32/atl80/CMakeLists.txt (with props)
trunk/reactos/dll/win32/atl80/atl80.c (with props)
trunk/reactos/dll/win32/atl80/atl80.spec (with props)
Modified:
trunk/reactos/dll/win32/CMakeLists.txt
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/CMakeLists.txt?r…
==============================================================================
--- trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] Sat Sep 14 17:42:03 2013
@@ -7,6 +7,7 @@
add_subdirectory(advpack)
add_subdirectory(atl)
add_subdirectory(atl100)
+add_subdirectory(atl80)
add_subdirectory(authz)
add_subdirectory(avicap32)
add_subdirectory(avifil32)
Propchange: trunk/reactos/dll/win32/atl80/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Sat Sep 14 17:42:03 2013
@@ -0,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)
Propchange: trunk/reactos/dll/win32/atl80/
------------------------------------------------------------------------------
bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/reactos/dll/win32/atl80/
------------------------------------------------------------------------------
bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/reactos/dll/win32/atl80/
------------------------------------------------------------------------------
tsvn:logminsize = 10
Added: trunk/reactos/dll/win32/atl80/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl80/CMakeLists…
==============================================================================
--- trunk/reactos/dll/win32/atl80/CMakeLists.txt (added)
+++ trunk/reactos/dll/win32/atl80/CMakeLists.txt [iso-8859-1] Sat Sep 14 17:42:03 2013
@@ -0,0 +1,17 @@
+
+add_definitions(
+ -D__WINESRC__
+ -D_ATL_VER=_ATL_VER_80)
+
+spec2def(atl80.dll atl80.spec)
+
+list(APPEND SOURCE
+ atl80.c
+ ${CMAKE_CURRENT_BINARY_DIR}/atl80_stubs.c
+ ${CMAKE_CURRENT_BINARY_DIR}/atl80.def)
+
+add_library(atl80 SHARED ${SOURCE})
+set_module_type(atl80 win32dll)
+target_link_libraries(atl80 wine)
+add_importlibs(atl80 atl100 oleaut32 user32 ole32 msvcrt kernel32 ntdll)
+add_cd_file(TARGET atl80 DESTINATION reactos/system32 FOR all)
Propchange: trunk/reactos/dll/win32/atl80/CMakeLists.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/atl80/atl80.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl80/atl80.c?re…
==============================================================================
--- trunk/reactos/dll/win32/atl80/atl80.c (added)
+++ trunk/reactos/dll/win32/atl80/atl80.c [iso-8859-1] Sat Sep 14 17:42:03 2013
@@ -0,0 +1,152 @@
+/*
+ * Copyright 2012 Stefan Leichter
+ *
+ * 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 <stdarg.h>
+#include <stdio.h>
+
+#define COBJMACROS
+
+#include <windef.h>
+#include <winbase.h>
+#include <winerror.h>
+#include <winuser.h>
+#include <wine/atlbase.h>
+
+#include <wine/debug.h>
+#include <wine/unicode.h>
+
+WINE_DEFAULT_DEBUG_CHANNEL(atl);
+
+/***********************************************************************
+ * AtlRegisterTypeLib [atl80.18]
+ */
+HRESULT WINAPI AtlComModuleRegisterServer(_ATL_COM_MODULE *mod, BOOL bRegTypeLib, const
CLSID *clsid)
+{
+ const struct _ATL_CATMAP_ENTRY *catmap;
+ _ATL_OBJMAP_ENTRY **iter;
+ HRESULT hres;
+
+ TRACE("(%p %x %s)\n", mod, bRegTypeLib, debugstr_guid(clsid));
+
+ for(iter = mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++)
{
+ if(!*iter || (clsid && !IsEqualCLSID((*iter)->pclsid, clsid)))
+ continue;
+
+ TRACE("Registering clsid %s\n", debugstr_guid((*iter)->pclsid));
+ hres = (*iter)->pfnUpdateRegistry(TRUE);
+ if(FAILED(hres))
+ return hres;
+
+ catmap = (*iter)->pfnGetCategoryMap();
+ if(catmap) {
+ hres = AtlRegisterClassCategoriesHelper((*iter)->pclsid, catmap, TRUE);
+ if(FAILED(hres))
+ return hres;
+ }
+ }
+
+ if(bRegTypeLib) {
+ hres = AtlRegisterTypeLib(mod->m_hInstTypeLib, NULL);
+ if(FAILED(hres))
+ return hres;
+ }
+
+ return S_OK;
+}
+
+/***********************************************************************
+ * AtlRegisterTypeLib [atl80.19]
+ */
+HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
+{
+ ITypeLib *typelib;
+ BSTR path;
+ HRESULT hres;
+
+ TRACE("(%p %s)\n", inst, debugstr_w(index));
+
+ hres = AtlLoadTypeLib(inst, index, &path, &typelib);
+ if(FAILED(hres))
+ return hres;
+
+ hres = RegisterTypeLib(typelib, path, NULL); /* FIXME: pass help directory */
+ ITypeLib_Release(typelib);
+ SysFreeString(path);
+ return hres;
+}
+
+/***********************************************************************
+ * AtlGetVersion [atl80.@]
+ */
+DWORD WINAPI AtlGetVersion(void *pReserved)
+{
+ return _ATL_VER;
+}
+
+/**********************************************************************
+ * AtlAxWin class window procedure
+ */
+static LRESULT CALLBACK AtlAxWin_wndproc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM
lParam )
+{
+ if ( wMsg == WM_CREATE )
+ {
+ DWORD len = GetWindowTextLengthW( hWnd ) + 1;
+ WCHAR *ptr = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
+ if (!ptr)
+ return 1;
+ GetWindowTextW( hWnd, ptr, len );
+ AtlAxCreateControlEx( ptr, hWnd, NULL, NULL, NULL, NULL, NULL );
+ HeapFree( GetProcessHeap(), 0, ptr );
+ return 0;
+ }
+ return DefWindowProcW( hWnd, wMsg, wParam, lParam );
+}
+
+BOOL WINAPI AtlAxWinInit(void)
+{
+ WNDCLASSEXW wcex;
+ const WCHAR AtlAxWin80[] =
{'A','t','l','A','x','W','i','n','8','0',0};
+ const WCHAR AtlAxWinLic80[] =
{'A','t','l','A','x','W','i','n','L','i','c','8','0',0};
+
+ FIXME("semi-stub\n");
+
+ if ( FAILED( OleInitialize(NULL) ) )
+ return FALSE;
+
+ wcex.cbSize = sizeof(wcex);
+ wcex.style = CS_GLOBALCLASS | CS_DBLCLKS;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = GetModuleHandleW( NULL );
+ wcex.hIcon = NULL;
+ wcex.hCursor = NULL;
+ wcex.hbrBackground = NULL;
+ wcex.lpszMenuName = NULL;
+ wcex.hIconSm = 0;
+
+ wcex.lpfnWndProc = AtlAxWin_wndproc;
+ wcex.lpszClassName = AtlAxWin80;
+ if ( !RegisterClassExW( &wcex ) )
+ return FALSE;
+
+ wcex.lpszClassName = AtlAxWinLic80;
+ if ( !RegisterClassExW( &wcex ) )
+ return FALSE;
+
+ return TRUE;
+}
Propchange: trunk/reactos/dll/win32/atl80/atl80.c
------------------------------------------------------------------------------
svn:eol-style = native
Added: trunk/reactos/dll/win32/atl80/atl80.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/atl80/atl80.spec…
==============================================================================
--- trunk/reactos/dll/win32/atl80/atl80.spec (added)
+++ trunk/reactos/dll/win32/atl80/atl80.spec [iso-8859-1] Sat Sep 14 17:42:03 2013
@@ -0,0 +1,53 @@
+10 stdcall AtlAdvise(ptr ptr ptr ptr) atl100.AtlAdvise
+11 stdcall AtlUnadvise(ptr ptr long) atl100.AtlUnadvise
+12 stdcall AtlFreeMarshalStream(ptr) atl100.AtlFreeMarshalStream
+13 stdcall AtlMarshalPtrInProc(ptr ptr ptr) atl100.AtlMarshalPtrInProc
+14 stdcall AtlUnmarshalPtr(ptr ptr ptr) atl100.AtlUnmarshalPtr
+15 stdcall AtlComModuleGetClassObject(ptr ptr ptr ptr) atl100.AtlComModuleGetClassObject
+17 stdcall AtlComModuleRegisterClassObjects(ptr long long)
atl100.AtlComModuleRegisterClassObjects
+18 stdcall AtlComModuleRegisterServer(ptr long ptr)
+19 stdcall AtlRegisterTypeLib(ptr wstr)
+20 stub AtlComModuleRevokeClassObjects
+22 stdcall AtlComModuleUnregisterServer(ptr long ptr)
atl100.AtlComModuleUnregisterServer
+23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr)
atl100.AtlUpdateRegistryFromResourceD
+24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
+25 stub AtlSetErrorInfo
+26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC
+27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel
+28 stdcall AtlPixelToHiMetric(ptr ptr) atl100.AtlPixelToHiMetric
+29 stub AtlDevModeW2A
+30 stdcall AtlComPtrAssign(ptr ptr) atl100.AtlComPtrAssign
+31 stdcall AtlComQIPtrAssign(ptr ptr ptr) atl100.AtlComQIPtrAssign
+32 stdcall AtlInternalQueryInterface(ptr ptr ptr ptr) atl100.AtlInternalQueryInterface
+34 stdcall AtlGetVersion(ptr)
+35 stdcall AtlAxDialogBoxW(long wstr long ptr long) atl100.AtlAxDialogBoxW
+36 stdcall AtlAxDialogBoxA(long str long ptr long) atl100.AtlAxDialogBoxA
+37 stdcall AtlAxCreateDialogW(long wstr long ptr long) atl100.AtlAxCreateDialogW
+38 stdcall AtlAxCreateDialogA(long str long ptr long) atl100.AtlAxCreateDialogA
+39 stdcall AtlAxCreateControl(ptr ptr ptr ptr) atl100.AtlAxCreateControl
+40 stdcall AtlAxCreateControlEx(ptr ptr ptr ptr ptr ptr ptr) atl100.AtlAxCreateControlEx
+41 stdcall AtlAxAttachControl(ptr ptr ptr) atl100.AtlAxAttachControl
+42 stdcall AtlAxWinInit()
+43 stdcall AtlWinModuleAddCreateWndData(ptr ptr ptr) atl100.AtlWinModuleAddCreateWndData
+44 stdcall AtlWinModuleExtractCreateWndData(ptr) atl100.AtlWinModuleExtractCreateWndData
+45 stub AtlWinModuleRegisterWndClassInfoW
+46 stub AtlWinModuleRegisterWndClassInfoA
+47 stdcall AtlAxGetControl(long ptr) atl100.AtlAxGetControl
+48 stdcall AtlAxGetHost(long ptr) atl100.AtlAxGetHost
+49 stdcall AtlRegisterClassCategoriesHelper(ptr ptr long)
atl100.AtlRegisterClassCategoriesHelper
+50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr) atl100.AtlIPersistStreamInit_Load
+51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr)
atl100.AtlIPersistStreamInit_Save
+52 stdcall AtlIPersistPropertyBag_Load(ptr ptr ptr ptr ptr)
atl100.AtlIPersistPropertyBag_Load
+53 stub AtlIPersistPropertyBag_Save
+54 stdcall AtlGetObjectSourceInterface(ptr ptr ptr ptr ptr)
atl100.AtlGetObjectSourceInterface
+55 stub AtlUnRegisterTypeLib
+56 stdcall AtlLoadTypeLib(long wstr ptr ptr) atl100.AtlLoadTypeLib
+58 stdcall AtlModuleAddTermFunc(ptr ptr long) atl100.AtlModuleAddTermFunc
+59 stub AtlAxCreateControlLic
+60 stub AtlAxCreateControlLicEx
+61 stdcall AtlCreateRegistrar(ptr) atl100.AtlCreateRegistrar
+62 stub AtlWinModuleRegisterClassExW
+63 stub AtlWinModuleRegisterClassExA
+64 stdcall AtlCallTermFunc(ptr) atl100.AtlCallTermFunc
+65 stdcall AtlWinModuleInit(ptr) atl100.AtlWinModuleInit
+66 stub AtlWinModuleTerm
Propchange: trunk/reactos/dll/win32/atl80/atl80.spec
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Sep 14 17:42:03 2013
@@ -52,6 +52,7 @@
reactos/dll/win32/advpack # Synced to Wine-1.7.1
reactos/dll/win32/atl # Synced to Wine-1.5.19
reactos/dll/win32/atl100 # Synced to Wine-1.7.1
+reactos/dll/win32/atl80 # Synced to Wine-1.7.1
reactos/dll/win32/avifil32 # Synced to Wine-1.5.26
reactos/dll/win32/bcrypt # Synced to Wine-1.5.26
reactos/dll/win32/browseui # Out of sync