Piotr Caban : msxml3: Added stub implementation for SAXXMLReader interface.

Alexandre Julliard julliard at winehq.org
Wed Jul 9 06:10:16 CDT 2008


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

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Tue Jul  8 20:52:04 2008 +0200

msxml3: Added stub implementation for SAXXMLReader interface.

---

 dlls/msxml3/saxreader.c |  242 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 242 insertions(+), 0 deletions(-)

diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index 497132a..3539cbb 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -47,6 +47,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml);
 typedef struct _saxreader
 {
     const struct IVBSAXXMLReaderVtbl *lpVtbl;
+    const struct ISAXXMLReaderVtbl *lpSAXXMLReaderVtbl;
     LONG ref;
     xmlSAXHandler sax;
 } saxreader;
@@ -56,6 +57,12 @@ static inline saxreader *impl_from_IVBSAXXMLReader( IVBSAXXMLReader *iface )
     return (saxreader *)((char*)iface - FIELD_OFFSET(saxreader, lpVtbl));
 }
 
+static inline saxreader *impl_from_ISAXXMLReader( ISAXXMLReader *iface )
+{
+    return (saxreader *)((char*)iface - FIELD_OFFSET(saxreader, lpSAXXMLReaderVtbl));
+}
+
+/*** IVBSAXXMLReader interface ***/
 /*** IUnknown methods ***/
 static HRESULT WINAPI saxxmlreader_QueryInterface(IVBSAXXMLReader* iface, REFIID riid, void **ppvObject)
 {
@@ -71,6 +78,10 @@ static HRESULT WINAPI saxxmlreader_QueryInterface(IVBSAXXMLReader* iface, REFIID
     {
         *ppvObject = iface;
     }
+    else if( IsEqualGUID( riid, &IID_ISAXXMLReader ))
+    {
+        *ppvObject = (ISAXXMLReader*)&This->lpSAXXMLReaderVtbl;
+    }
     else
     {
         FIXME("interface %s not implemented\n", debugstr_guid(riid));
@@ -403,6 +414,236 @@ static const struct IVBSAXXMLReaderVtbl saxreader_vtbl =
     saxxmlreader_parseURL
 };
 
+/*** ISAXXMLReader interface ***/
+/*** IUnknown methods ***/
+static HRESULT WINAPI isaxxmlreader_QueryInterface(ISAXXMLReader* iface, REFIID riid, void **ppvObject)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+    return saxxmlreader_QueryInterface((IVBSAXXMLReader*)&This->lpVtbl, riid, ppvObject);
+}
+
+static ULONG WINAPI isaxxmlreader_AddRef(ISAXXMLReader* iface)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+    return saxxmlreader_AddRef((IVBSAXXMLReader*)&This->lpVtbl);
+}
+
+static ULONG WINAPI isaxxmlreader_Release(ISAXXMLReader* iface)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+    return saxxmlreader_Release((IVBSAXXMLReader*)&This->lpVtbl);
+}
+
+/*** ISAXXMLReader methods ***/
+static HRESULT WINAPI isaxxmlreader_getFeature(
+        ISAXXMLReader* iface,
+        const WCHAR *pFeature,
+        VARIANT_BOOL *pValue)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s %p) stub\n", This, debugstr_w(pFeature), pValue);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putFeature(
+        ISAXXMLReader* iface,
+        const WCHAR *pFeature,
+        VARIANT_BOOL vfValue)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s %x) stub\n", This, debugstr_w(pFeature), vfValue);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getProperty(
+        ISAXXMLReader* iface,
+        const WCHAR *pProp,
+        VARIANT *pValue)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s %p) stub\n", This, debugstr_w(pProp), pValue);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putProperty(
+        ISAXXMLReader* iface,
+        const WCHAR *pProp,
+        VARIANT value)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s) stub\n", This, debugstr_w(pProp));
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getEntityResolver(
+        ISAXXMLReader* iface,
+        ISAXEntityResolver **ppEntityResolver)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, ppEntityResolver);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putEntityResolver(
+        ISAXXMLReader* iface,
+        ISAXEntityResolver *pEntityResolver)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pEntityResolver);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getContentHandler(
+        ISAXXMLReader* iface,
+        ISAXContentHandler **pContentHandler)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pContentHandler);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putContentHandler(
+        ISAXXMLReader* iface,
+        ISAXContentHandler *contentHandler)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, contentHandler);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getDTDHandler(
+        ISAXXMLReader* iface,
+        ISAXDTDHandler **pDTDHandler)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pDTDHandler);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putDTDHandler(
+        ISAXXMLReader* iface,
+        ISAXDTDHandler *pDTDHandler)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pDTDHandler);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getErrorHandler(
+        ISAXXMLReader* iface,
+        ISAXErrorHandler **pErrorHandler)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pErrorHandler);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putErrorHandler(
+        ISAXXMLReader* iface,
+        ISAXErrorHandler *errorHandler)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, errorHandler);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getBaseURL(
+        ISAXXMLReader* iface,
+        const WCHAR **pBaseUrl)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pBaseUrl);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putBaseURL(
+        ISAXXMLReader* iface,
+        const WCHAR *pBaseUrl)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s) stub\n", This, debugstr_w(pBaseUrl));
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_getSecureBaseURL(
+        ISAXXMLReader* iface,
+        const WCHAR **pSecureBaseUrl)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%p) stub\n", This, pSecureBaseUrl);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_putSecureBaseURL(
+        ISAXXMLReader* iface,
+        const WCHAR *secureBaseUrl)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s) stub\n", This, debugstr_w(secureBaseUrl));
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_parse(
+        ISAXXMLReader* iface,
+        VARIANT varInput)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p) stub\n", This);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI isaxxmlreader_parseURL(
+        ISAXXMLReader* iface,
+        const WCHAR *url)
+{
+    saxreader *This = impl_from_ISAXXMLReader( iface );
+
+    FIXME("(%p)->(%s) stub\n", This, debugstr_w(url));
+    return E_NOTIMPL;
+}
+
+static const struct ISAXXMLReaderVtbl isaxreader_vtbl =
+{
+    isaxxmlreader_QueryInterface,
+    isaxxmlreader_AddRef,
+    isaxxmlreader_Release,
+    isaxxmlreader_getFeature,
+    isaxxmlreader_putFeature,
+    isaxxmlreader_getProperty,
+    isaxxmlreader_putProperty,
+    isaxxmlreader_getEntityResolver,
+    isaxxmlreader_putEntityResolver,
+    isaxxmlreader_getContentHandler,
+    isaxxmlreader_putContentHandler,
+    isaxxmlreader_getDTDHandler,
+    isaxxmlreader_putDTDHandler,
+    isaxxmlreader_getErrorHandler,
+    isaxxmlreader_putErrorHandler,
+    isaxxmlreader_getBaseURL,
+    isaxxmlreader_putBaseURL,
+    isaxxmlreader_getSecureBaseURL,
+    isaxxmlreader_putSecureBaseURL,
+    isaxxmlreader_parse,
+    isaxxmlreader_parseURL
+};
+
 HRESULT SAXXMLReader_create(IUnknown *pUnkOuter, LPVOID *ppObj)
 {
     saxreader *reader;
@@ -414,6 +655,7 @@ HRESULT SAXXMLReader_create(IUnknown *pUnkOuter, LPVOID *ppObj)
         return E_OUTOFMEMORY;
 
     reader->lpVtbl = &saxreader_vtbl;
+    reader->lpSAXXMLReaderVtbl = &isaxreader_vtbl;
     reader->ref = 1;
 
     *ppObj = &reader->lpVtbl;




More information about the wine-cvs mailing list