Hans Leidekker : webservices: Implement WsFillBody.
Alexandre Julliard
julliard at winehq.org
Tue Dec 4 16:33:55 CST 2018
Module: wine
Branch: master
Commit: d00aa4db48b3b575f791fe41d30fd997a6b65e9b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d00aa4db48b3b575f791fe41d30fd997a6b65e9b
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Dec 4 13:57:26 2018 +0100
webservices: Implement WsFillBody.
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/webservices/msg.c | 27 +++++++++++++++++++++++++++
dlls/webservices/webservices.spec | 2 +-
include/webservices.h | 1 +
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/dlls/webservices/msg.c b/dlls/webservices/msg.c
index e28baa2..ada549c 100644
--- a/dlls/webservices/msg.c
+++ b/dlls/webservices/msg.c
@@ -999,6 +999,33 @@ HRESULT WINAPI WsReadBody( WS_MESSAGE *handle, const WS_ELEMENT_DESCRIPTION *des
}
/**************************************************************************
+ * WsFillBody [webservices.@]
+ */
+HRESULT WINAPI WsFillBody( WS_MESSAGE *handle, ULONG size, const WS_ASYNC_CONTEXT *ctx, WS_ERROR *error )
+{
+ struct msg *msg = (struct msg *)handle;
+ HRESULT hr;
+
+ TRACE( "%p %u %p %p\n", handle, size, ctx, error );
+
+ if (!msg) return E_INVALIDARG;
+
+ EnterCriticalSection( &msg->cs );
+
+ if (msg->magic != MSG_MAGIC)
+ {
+ LeaveCriticalSection( &msg->cs );
+ return E_INVALIDARG;
+ }
+
+ hr = WsFillReader( msg->reader_body, size, ctx, error );
+
+ LeaveCriticalSection( &msg->cs );
+ TRACE( "returning %08x\n", hr );
+ return hr;
+}
+
+/**************************************************************************
* WsInitializeMessage [webservices.@]
*/
HRESULT WINAPI WsInitializeMessage( WS_MESSAGE *handle, WS_MESSAGE_INITIALIZATION init,
diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec
index 30c97e3..adad68d 100644
--- a/dlls/webservices/webservices.spec
+++ b/dlls/webservices/webservices.spec
@@ -43,7 +43,7 @@
@ stub WsEndReaderCanonicalization
@ stub WsEndWriterCanonicalization
@ stdcall WsFileTimeToDateTime(ptr ptr ptr)
-@ stub WsFillBody
+@ stdcall WsFillBody(ptr long ptr ptr)
@ stdcall WsFillReader(ptr long ptr ptr)
@ stdcall WsFindAttribute(ptr ptr ptr long ptr ptr)
@ stub WsFlushBody
diff --git a/include/webservices.h b/include/webservices.h
index 6cafcc6..69e3c8a 100644
--- a/include/webservices.h
+++ b/include/webservices.h
@@ -1622,6 +1622,7 @@ HRESULT WINAPI WsDateTimeToFileTime(const WS_DATETIME*, FILETIME*, WS_ERROR*);
HRESULT WINAPI WsDecodeUrl(const WS_STRING*, ULONG, WS_HEAP*, WS_URL**, WS_ERROR*);
HRESULT WINAPI WsEncodeUrl(const WS_URL*, ULONG, WS_HEAP*, WS_STRING*, WS_ERROR*);
HRESULT WINAPI WsFileTimeToDateTime(const FILETIME*, WS_DATETIME*, WS_ERROR*);
+HRESULT WINAPI WsFillBody(WS_MESSAGE*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*);
HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, BOOL,
ULONG*, WS_ERROR*);
More information about the wine-cvs
mailing list