Owen Rudge : wsdapi: Add MetadataVersion to Hello message.

Alexandre Julliard julliard at winehq.org
Tue Apr 24 18:46:08 CDT 2018


Module: wine
Branch: master
Commit: d11a18383b46651d7a31e64b6daa5e7bf3bf07f2
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d11a18383b46651d7a31e64b6daa5e7bf3bf07f2

Author: Owen Rudge <orudge at codeweavers.com>
Date:   Mon Apr 23 21:12:31 2018 +0100

wsdapi: Add MetadataVersion to Hello message.

Signed-off-by: Owen Rudge <orudge at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wsdapi/soap.c            | 7 +++++++
 dlls/wsdapi/tests/discovery.c | 4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/dlls/wsdapi/soap.c b/dlls/wsdapi/soap.c
index 9ba934e..e7cd651 100644
--- a/dlls/wsdapi/soap.c
+++ b/dlls/wsdapi/soap.c
@@ -80,6 +80,7 @@ static const WCHAR addressString[] = { 'A','d','d','r','e','s','s', 0 };
 static const WCHAR typesString[] = { 'T','y','p','e','s', 0 };
 static const WCHAR scopesString[] = { 'S','c','o','p','e','s', 0 };
 static const WCHAR xAddrsString[] = { 'X','A','d','d','r','s', 0 };
+static const WCHAR metadataVersionString[] = { 'M','e','t','a','d','a','t','a','V','e','r','s','i','o','n', 0 };
 
 struct discovered_namespace
 {
@@ -968,6 +969,12 @@ HRESULT send_hello_message(IWSDiscoveryPublisherImpl *impl, LPCWSTR id, ULONGLON
         if (FAILED(ret)) goto cleanup;
     }
 
+    /* <wsd:MetadataVersion> */
+    ret = add_child_element(impl->xmlContext, hello_element, discoveryNsUri, metadataVersionString,
+        ulonglong_to_string(hello_element, min(UINT_MAX, metadata_ver)), NULL);
+
+    if (FAILED(ret)) goto cleanup;
+
     /* Write any body elements */
     if (any != NULL)
     {
diff --git a/dlls/wsdapi/tests/discovery.c b/dlls/wsdapi/tests/discovery.c
index 0576c8f..5d10d3d 100644
--- a/dlls/wsdapi/tests/discovery.c
+++ b/dlls/wsdapi/tests/discovery.c
@@ -699,8 +699,8 @@ static void Publish_tests(void)
     ok(hello_message_seen == TRUE, "Hello message not received\n");
     ok(endpoint_reference_seen == TRUE, "EndpointReference not received\n");
     ok(app_sequence_seen == TRUE, "AppSequence not received\n");
-    todo_wine ok(metadata_version_seen == TRUE, "MetadataVersion not received\n");
-    todo_wine ok(messageOK == TRUE, "Hello message metadata not received\n");
+    ok(metadata_version_seen == TRUE, "MetadataVersion not received\n");
+    ok(messageOK == TRUE, "Hello message metadata not received\n");
     ok(any_header_seen == TRUE, "Custom header not received\n");
     ok(wine_ns_seen == TRUE, "Wine namespace not received\n");
     ok(body_hello_seen == TRUE, "Body and Hello elements not received\n");




More information about the wine-cvs mailing list