Jacek Caban : ieframe: Moved CUrlHistory implementation to ieframe.

Alexandre Julliard julliard at winehq.org
Tue Jul 26 11:37:57 CDT 2011


Module: wine
Branch: master
Commit: a40345cf84fdb79fc33c865e38aaa58d99dca703
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a40345cf84fdb79fc33c865e38aaa58d99dca703

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jul 26 12:03:33 2011 +0200

ieframe: Moved CUrlHistory implementation to ieframe.

---

 dlls/ieframe/Makefile.in            |    3 ++-
 dlls/ieframe/ieframe.h              |    3 ++-
 dlls/ieframe/ieframe_main.c         |   16 ++++++++++++++++
 dlls/{shdocvw => ieframe}/urlhist.c |   11 ++++++-----
 dlls/shdocvw/Makefile.in            |    1 -
 dlls/shdocvw/factory.c              |    7 ++-----
 dlls/shdocvw/shdocvw.h              |    1 -
 7 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/dlls/ieframe/Makefile.in b/dlls/ieframe/Makefile.in
index 129aab1..340beb0 100644
--- a/dlls/ieframe/Makefile.in
+++ b/dlls/ieframe/Makefile.in
@@ -4,6 +4,7 @@ IMPORTS   = uuid urlmon shell32 ole32 advapi32
 
 C_SRCS = \
 	ieframe_main.c \
-	intshcut.c
+	intshcut.c \
+	urlhist.c
 
 @MAKE_DLL_RULES@
diff --git a/dlls/ieframe/ieframe.h b/dlls/ieframe/ieframe.h
index e44b9c1..4e14eb9 100644
--- a/dlls/ieframe/ieframe.h
+++ b/dlls/ieframe/ieframe.h
@@ -32,7 +32,8 @@
 
 #include "wine/unicode.h"
 
-HRESULT WINAPI InternetShortcut_Create(IClassFactory*,IUnknown*,REFIID,void**);
+HRESULT WINAPI CUrlHistory_Create(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
+HRESULT WINAPI InternetShortcut_Create(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
 
 extern LONG module_ref DECLSPEC_HIDDEN;
 
diff --git a/dlls/ieframe/ieframe_main.c b/dlls/ieframe/ieframe_main.c
index 225c33b..569c425 100644
--- a/dlls/ieframe/ieframe_main.c
+++ b/dlls/ieframe/ieframe_main.c
@@ -18,6 +18,7 @@
 
 #include "ieframe.h"
 
+#include "shlguid.h"
 #include "isguids.h"
 
 #include "wine/debug.h"
@@ -75,6 +76,16 @@ static const IClassFactoryVtbl InternetShortcutFactoryVtbl = {
 
 static IClassFactory InternetShortcutFactory = { &InternetShortcutFactoryVtbl };
 
+static const IClassFactoryVtbl CUrlHistoryFactoryVtbl = {
+    ClassFactory_QueryInterface,
+    ClassFactory_AddRef,
+    ClassFactory_Release,
+    CUrlHistory_Create,
+    ClassFactory_LockServer
+};
+
+static IClassFactory CUrlHistoryFactory = { &CUrlHistoryFactoryVtbl };
+
 /******************************************************************
  *              DllMain (ieframe.@)
  */
@@ -104,6 +115,11 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
         return IClassFactory_QueryInterface(&InternetShortcutFactory, riid, ppv);
     }
 
+    if(IsEqualGUID(&CLSID_CUrlHistory, rclsid)) {
+        TRACE("(CLSID_CUrlHistory %s %p)\n", debugstr_guid(riid), ppv);
+        return IClassFactory_QueryInterface(&CUrlHistoryFactory, riid, ppv);
+    }
+
     FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
     return CLASS_E_CLASSNOTAVAILABLE;
 }
diff --git a/dlls/shdocvw/urlhist.c b/dlls/ieframe/urlhist.c
similarity index 95%
rename from dlls/shdocvw/urlhist.c
rename to dlls/ieframe/urlhist.c
index c801718..89480df 100644
--- a/dlls/shdocvw/urlhist.c
+++ b/dlls/ieframe/urlhist.c
@@ -16,10 +16,11 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "wine/debug.h"
-#include "shdocvw.h"
+#include "ieframe.h"
 #include "urlhist.h"
 
+#include "wine/debug.h"
+
 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
 
 static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFIID riid, void **ppv)
@@ -48,13 +49,13 @@ static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFII
 
 static ULONG WINAPI UrlHistoryStg_AddRef(IUrlHistoryStg2 *iface)
 {
-    SHDOCVW_LockModule();
+    lock_module();
     return 2;
 }
 
 static ULONG WINAPI UrlHistoryStg_Release(IUrlHistoryStg2 *iface)
 {
-    SHDOCVW_UnlockModule();
+    unlock_module();
     return 1;
 }
 
@@ -122,7 +123,7 @@ static const IUrlHistoryStg2Vtbl UrlHistoryStg2Vtbl = {
 
 static IUrlHistoryStg2 UrlHistoryStg2 = { &UrlHistoryStg2Vtbl };
 
-HRESULT CUrlHistory_Create(IUnknown *pOuter, REFIID riid, void **ppv)
+HRESULT WINAPI CUrlHistory_Create(IClassFactory *iface, IUnknown *pOuter, REFIID riid, void **ppv)
 {
     if(pOuter)
         return CLASS_E_NOAGGREGATION;
diff --git a/dlls/shdocvw/Makefile.in b/dlls/shdocvw/Makefile.in
index d5dad46..7c13420 100644
--- a/dlls/shdocvw/Makefile.in
+++ b/dlls/shdocvw/Makefile.in
@@ -20,7 +20,6 @@ C_SRCS = \
 	shellbrowser.c \
 	shlinstobj.c \
 	taskbarlist.c \
-	urlhist.c \
 	view.c \
 	webbrowser.c
 
diff --git a/dlls/shdocvw/factory.c b/dlls/shdocvw/factory.c
index d8a4b11..d9f6d68 100644
--- a/dlls/shdocvw/factory.c
+++ b/dlls/shdocvw/factory.c
@@ -154,7 +154,6 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
 {
     static IClassFactoryImpl WB1ClassFactory = {{&WBCF_Vtbl}, WebBrowserV1_Create};
     static IClassFactoryImpl WB2ClassFactory = {{&WBCF_Vtbl}, WebBrowserV2_Create};
-    static IClassFactoryImpl CUHClassFactory = {{&WBCF_Vtbl}, CUrlHistory_Create};
     static IClassFactoryImpl TBLClassFactory = {{&WBCF_Vtbl}, TaskbarList_Create};
 
     TRACE("\n");
@@ -165,10 +164,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
     if(IsEqualGUID(&CLSID_WebBrowser_V1, rclsid))
         return IClassFactory_QueryInterface(&WB1ClassFactory.IClassFactory_iface, riid, ppv);
 
-    if(IsEqualGUID(&CLSID_CUrlHistory, rclsid))
-        return IClassFactory_QueryInterface(&CUHClassFactory.IClassFactory_iface, riid, ppv);
-
-    if(IsEqualGUID(&CLSID_InternetShortcut, rclsid))
+    if(IsEqualGUID(&CLSID_InternetShortcut, rclsid)
+       || IsEqualGUID(&CLSID_CUrlHistory, rclsid))
         return get_ieframe_object(rclsid, riid, ppv);
 
     if(IsEqualGUID(&CLSID_TaskbarList, rclsid))
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index bd65551..4522b65 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -258,7 +258,6 @@ void InternetExplorer_WebBrowser_Init(InternetExplorer*) DECLSPEC_HIDDEN;
 
 void released_obj(void) DECLSPEC_HIDDEN;
 
-HRESULT CUrlHistory_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
 HRESULT TaskbarList_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
 
 /**********************************************************************




More information about the wine-cvs mailing list