Module: wine Branch: master Commit: 0e3b3e07ad5d55cb4a6103da80f1f7cc9b777445 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e3b3e07ad5d55cb4a6103da80...
Author: Hans Leidekker hans@codeweavers.com Date: Tue Sep 15 11:15:35 2015 +0200
webservices: Implement WsGetReaderProperty.
---
dlls/webservices/reader.c | 23 +++++++++++++++++++++++ dlls/webservices/webservices.spec | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/dlls/webservices/reader.c b/dlls/webservices/reader.c index 84802fc..4f4d31c 100644 --- a/dlls/webservices/reader.c +++ b/dlls/webservices/reader.c @@ -310,6 +310,15 @@ static HRESULT set_reader_prop( struct reader *reader, WS_XML_READER_PROPERTY_ID return S_OK; }
+static HRESULT get_reader_prop( struct reader *reader, WS_XML_READER_PROPERTY_ID id, void *buf, ULONG size ) +{ + if (id >= reader->prop_count || size != reader_props[id].size) + return E_INVALIDARG; + + memcpy( buf, reader->prop[id].value, reader->prop[id].valueSize ); + return S_OK; +} + /************************************************************************** * WsCreateReader [webservices.@] */ @@ -388,6 +397,20 @@ HRESULT WINAPI WsGetHeapProperty( WS_HEAP *handle, WS_HEAP_PROPERTY_ID id, void }
/************************************************************************** + * WsGetReaderProperty [webservices.@] + */ +HRESULT WINAPI WsGetReaderProperty( WS_XML_READER *handle, WS_XML_READER_PROPERTY_ID id, + void *buf, ULONG size, WS_ERROR *error ) +{ + struct reader *reader = (struct reader *)handle; + + TRACE( "%p %u %p %u %p\n", handle, id, buf, size, error ); + if (error) FIXME( "ignoring error parameter\n" ); + + return get_reader_prop( reader, id, buf, size ); +} + +/************************************************************************** * WsSetErrorProperty [webservices.@] */ HRESULT WINAPI WsSetErrorProperty( WS_ERROR *handle, WS_ERROR_PROPERTY_ID id, const void *value, diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec index 7e0a86b..487c2af 100644 --- a/dlls/webservices/webservices.spec +++ b/dlls/webservices/webservices.spec @@ -82,7 +82,7 @@ @ stub WsGetPrefixFromNamespace @ stub WsGetReaderNode @ stub WsGetReaderPosition -@ stub WsGetReaderProperty +@ stdcall WsGetReaderProperty(ptr long ptr long ptr) @ stub WsGetSecurityContextProperty @ stub WsGetSecurityTokenProperty @ stub WsGetServiceHostProperty