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