Hans Leidekker : webservices: Implement WsGetReaderProperty.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Sep 15 09:50:50 CDT 2015


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

Author: Hans Leidekker <hans at 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




More information about the wine-cvs mailing list