Module: wine Branch: master Commit: 889ac56f5079ac6785a9998383072b7c557a1b5f URL: http://source.winehq.org/git/wine.git/?a=commit;h=889ac56f5079ac6785a9998383...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Dec 13 20:33:36 2010 +0100
urlmon: Convert the coclasses registration to the IRegistrar mechanism.
---
dlls/urlmon/Makefile.in | 3 +- dlls/urlmon/regsvr.c | 66 -------------------------------- dlls/urlmon/urlmon.inf | 12 +----- dlls/urlmon/urlmon_urlmon.idl | 84 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+), 77 deletions(-)
diff --git a/dlls/urlmon/Makefile.in b/dlls/urlmon/Makefile.in index 65384e8..41368d9 100644 --- a/dlls/urlmon/Makefile.in +++ b/dlls/urlmon/Makefile.in @@ -1,7 +1,7 @@ MODULE = urlmon.dll IMPORTLIB = urlmon IMPORTS = uuid ole32 oleaut32 shell32 rpcrt4 shlwapi wininet user32 advapi32 -EXTRADEFS = -D_URLMON_ -DENTRY_PREFIX=URLMON_ -DPROXY_DELEGATION -DREGISTER_PROXY_DLL \ +EXTRADEFS = -D_URLMON_ -DENTRY_PREFIX=URLMON_ -DPROXY_DELEGATION -DWINE_REGISTER_DLL \ -DPROXY_CLSID_IS="{0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}"
C_SRCS = \ @@ -31,6 +31,7 @@ C_SRCS = \ RC_SRCS = rsrc.rc
IDL_P_SRCS = urlmon_urlmon.idl +IDL_R_SRCS = urlmon_urlmon.idl
EXTRA_OBJS = dlldata.o
diff --git a/dlls/urlmon/regsvr.c b/dlls/urlmon/regsvr.c index 6e417ac..ec70465 100644 --- a/dlls/urlmon/regsvr.c +++ b/dlls/urlmon/regsvr.c @@ -435,72 +435,6 @@ error_close_progid_key: * coclass list */ static struct regsvr_coclass const coclass_list[] = { - { &CLSID_StdURLMoniker, - "URL Moniker", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_CdlProtocol, - "CDL: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_FileProtocol, - "file:, local: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_FtpProtocol, - "ftp: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_GopherProtocol, - "gopher: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_HttpProtocol, - "http: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_HttpSProtocol, - "https: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_MkProtocol, - "mk: Asynchronous Pluggable Protocol Handler", - NULL, - "urlmon.dll", - "Apartment" - }, - { &CLSID_InternetSecurityManager, - "Security Manager", - NULL, - "urlmon.dll", - "Both" - }, - { &CLSID_InternetZoneManager, - "URL Zone Manager", - NULL, - "urlmon.dll", - "Both" - }, - { &CLSID_PSFactoryBuffer, - "URLMoniker ProxyStub Factory", - NULL, - "urlmon.dll", - "Apartment" - }, { NULL } /* list terminator */ };
diff --git a/dlls/urlmon/urlmon.inf b/dlls/urlmon/urlmon.inf index c9debb4..da5778d 100644 --- a/dlls/urlmon/urlmon.inf +++ b/dlls/urlmon/urlmon.inf @@ -3,19 +3,11 @@ Signature="$CHICAGO$"
[RegisterDll] -AddReg=Classes.Reg, Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg +AddReg=Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg
[UnregisterDll] -DelReg=Classes.Reg, Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg - - -[Classes.Reg] - -;; CLSID_DeCompMimeFilter -HKCR,"CLSID%CLSID_DeCompMimeFilter%",,,"AP lzdhtml encoding/decoding Filter" -HKCR,"CLSID%CLSID_DeCompMimeFilter%\InProcServer32",,,"%MODULE%" -HKCR,"CLSID%CLSID_DeCompMimeFilter%\InProcServer32","ThreadingModel",,"Apartment" +DelReg=Protocols.Reg, ZoneMap.Reg, Zones.Reg, Misc.Reg
[Protocols.Reg] diff --git a/dlls/urlmon/urlmon_urlmon.idl b/dlls/urlmon/urlmon_urlmon.idl index d45ba07..ad23dee 100644 --- a/dlls/urlmon/urlmon_urlmon.idl +++ b/dlls/urlmon/urlmon_urlmon.idl @@ -17,3 +17,87 @@ */
#include "urlmon.idl" + +[ + helpstring("URL Moniker"), + threading(apartment), + uuid(79eac9e0-baf9-11ce-8c82-00aa004ba90b) +] +coclass StdURLMoniker { interface IMoniker; } + +[ + helpstring("http: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(79eac9e2-baf9-11ce-8c82-00aa004ba90b) +] +coclass HttpProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("ftp: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(79eac9e3-baf9-11ce-8c82-00aa004ba90b) +] +coclass FtpProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("gopher: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(79eac9e4-baf9-11ce-8c82-00aa004ba90b) +] +coclass GopherProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("https: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(79eac9e5-baf9-11ce-8c82-00aa004ba90b) +] +coclass HttpsProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("mk: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(79eac9e6-baf9-11ce-8c82-00aa004ba90b) +] +coclass MkProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("file:, local: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(79eac9e7-baf9-11ce-8c82-00aa004ba90b) +] +coclass FileProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("CDL: Asynchronous Pluggable Protocol Handler"), + threading(apartment), + uuid(3dd53d40-7b8b-11d0-b013-00aa0059ce02) +] +coclass CdlProtocol { interface IInternetProtocolEx; interface IInternetPriority; } + +[ + helpstring("Security Manager"), + threading(both), + uuid(7b8a2d94-0ac9-11d1-896c-00c04fb6bfc4) +] +coclass InternetSecurityManager { interface IInternetSecurityManager; } + +[ + helpstring("URL Zone Manager"), + threading(both), + uuid(7b8a2d95-0ac9-11d1-896c-00c04fb6bfc4) +] +coclass InternetZoneManager { interface IInternetZoneManagerEx2; } + +[ + helpstring("URLMoniker ProxyStub Factory"), + threading(apartment), + uuid(79eac9f1-baf9-11ce-8c82-00aa004ba90b) +] +coclass PSFactoryBuffer { interface IPSFactoryBuffer; } + +[ + helpstring("AP lzdhtml encoding/decoding Filter"), + threading(apartment), + uuid(8f6b0360-b80d-11d0-a9b3-006097942311) +] +coclass DeCompMimeFilter { interface IInternetProtocol; interface IInternetProtocolSink; }