Jacek Caban : vbscript: Added IObjectSafety stub implementation.

Alexandre Julliard julliard at winehq.org
Fri Sep 2 13:13:37 CDT 2011


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Sep  2 13:15:51 2011 +0200

vbscript: Added IObjectSafety stub implementation.

---

 dlls/vbscript/vbscript.c      |   53 +++++++++++++++++++++++++++++++++++++++++
 dlls/vbscript/vbscript_main.c |    1 +
 2 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/dlls/vbscript/vbscript.c b/dlls/vbscript/vbscript.c
index caee4d4..3f963a3 100644
--- a/dlls/vbscript/vbscript.c
+++ b/dlls/vbscript/vbscript.c
@@ -26,6 +26,7 @@
 #include "windef.h"
 #include "winbase.h"
 #include "ole2.h"
+#include "objsafe.h"
 
 #include "vbscript.h"
 
@@ -48,6 +49,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(vbscript);
 struct VBScript {
     IActiveScript IActiveScript_iface;
     IActiveScriptParse IActiveScriptParse_iface;
+    IObjectSafety IObjectSafety_iface;
 
     LONG ref;
 
@@ -135,6 +137,9 @@ static HRESULT WINAPI VBScript_QueryInterface(IActiveScript *iface, REFIID riid,
     }else if(IsEqualGUID(riid, &IID_IActiveScriptParse)) {
         TRACE("(%p)->(IID_IActiveScriptParse %p)\n", This, ppv);
         *ppv = &This->IActiveScriptParse_iface;
+    }else if(IsEqualGUID(riid, &IID_IObjectSafety)) {
+        TRACE("(%p)->(IID_IObjectSafety %p)\n", This, ppv);
+        *ppv = &This->IObjectSafety_iface;
     }else {
         FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
         *ppv = NULL;
@@ -403,6 +408,53 @@ static const IActiveScriptParseVtbl VBScriptParseVtbl = {
     VBScriptParse_ParseScriptText
 };
 
+static inline VBScript *impl_from_IObjectSafety(IObjectSafety *iface)
+{
+    return CONTAINING_RECORD(iface, VBScript, IObjectSafety_iface);
+}
+
+static HRESULT WINAPI VBScriptSafety_QueryInterface(IObjectSafety *iface, REFIID riid, void **ppv)
+{
+    VBScript *This = impl_from_IObjectSafety(iface);
+    return IActiveScript_QueryInterface(&This->IActiveScript_iface, riid, ppv);
+}
+
+static ULONG WINAPI VBScriptSafety_AddRef(IObjectSafety *iface)
+{
+    VBScript *This = impl_from_IObjectSafety(iface);
+    return IActiveScript_AddRef(&This->IActiveScript_iface);
+}
+
+static ULONG WINAPI VBScriptSafety_Release(IObjectSafety *iface)
+{
+    VBScript *This = impl_from_IObjectSafety(iface);
+    return IActiveScript_Release(&This->IActiveScript_iface);
+}
+
+static HRESULT WINAPI VBScriptSafety_GetInterfaceSafetyOptions(IObjectSafety *iface, REFIID riid,
+        DWORD *pdwSupportedOptions, DWORD *pdwEnabledOptions)
+{
+    VBScript *This = impl_from_IObjectSafety(iface);
+    FIXME("(%p)->(%s %p %p)\n", This, debugstr_guid(riid), pdwSupportedOptions, pdwEnabledOptions);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI VBScriptSafety_SetInterfaceSafetyOptions(IObjectSafety *iface, REFIID riid,
+        DWORD dwOptionSetMask, DWORD dwEnabledOptions)
+{
+    VBScript *This = impl_from_IObjectSafety(iface);
+    FIXME("(%p)->(%s %x %x)\n", This, debugstr_guid(riid), dwOptionSetMask, dwEnabledOptions);
+    return E_NOTIMPL;
+}
+
+static const IObjectSafetyVtbl VBScriptSafetyVtbl = {
+    VBScriptSafety_QueryInterface,
+    VBScriptSafety_AddRef,
+    VBScriptSafety_Release,
+    VBScriptSafety_GetInterfaceSafetyOptions,
+    VBScriptSafety_SetInterfaceSafetyOptions
+};
+
 HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv)
 {
     VBScript *ret;
@@ -416,6 +468,7 @@ HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pU
 
     ret->IActiveScript_iface.lpVtbl = &VBScriptVtbl;
     ret->IActiveScriptParse_iface.lpVtbl = &VBScriptParseVtbl;
+    ret->IObjectSafety_iface.lpVtbl = &VBScriptSafetyVtbl;
 
     ret->ref = 1;
     ret->state = SCRIPTSTATE_UNINITIALIZED;
diff --git a/dlls/vbscript/vbscript_main.c b/dlls/vbscript/vbscript_main.c
index 093019a..71eaa86 100644
--- a/dlls/vbscript/vbscript_main.c
+++ b/dlls/vbscript/vbscript_main.c
@@ -27,6 +27,7 @@
 #include "initguid.h"
 
 #include "ole2.h"
+#include "objsafe.h"
 #include "rpcproxy.h"
 #include "vbscript.h"
 #include "vbscript_classes.h"




More information about the wine-cvs mailing list