Owen Rudge : wsdapi: Implement IWSDUdpAddress_Get/SetMessageType.

Alexandre Julliard julliard at winehq.org
Mon Jul 3 15:56:48 CDT 2017


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

Author: Owen Rudge <orudge at codeweavers.com>
Date:   Wed Jun 28 22:13:21 2017 +0100

wsdapi: Implement IWSDUdpAddress_Get/SetMessageType.

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

---

 dlls/wsdapi/address.c       | 22 ++++++++++++++++++----
 dlls/wsdapi/tests/address.c | 14 +++++++-------
 2 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/dlls/wsdapi/address.c b/dlls/wsdapi/address.c
index f225930..69d4956 100644
--- a/dlls/wsdapi/address.c
+++ b/dlls/wsdapi/address.c
@@ -38,6 +38,7 @@ typedef struct IWSDUdpAddressImpl {
     WCHAR            ipv4Address[25];
     WCHAR            ipv6Address[64];
     WORD             port;
+    WSDUdpMessageType messageType;
 } IWSDUdpAddressImpl;
 
 static inline IWSDUdpAddressImpl *impl_from_IWSDUdpAddress(IWSDUdpAddress *iface)
@@ -247,14 +248,27 @@ static HRESULT WINAPI IWSDUdpAddressImpl_GetExclusive(IWSDUdpAddress *This)
 
 static HRESULT WINAPI IWSDUdpAddressImpl_SetMessageType(IWSDUdpAddress *This, WSDUdpMessageType messageType)
 {
-    FIXME("(%p, %d)\n", This, messageType);
-    return E_NOTIMPL;
+    IWSDUdpAddressImpl *impl = impl_from_IWSDUdpAddress(This);
+
+    TRACE("(%p, %d)\n", This, messageType);
+
+    impl->messageType = messageType;
+    return S_OK;
 }
 
 static HRESULT WINAPI IWSDUdpAddressImpl_GetMessageType(IWSDUdpAddress *This, WSDUdpMessageType *pMessageType)
 {
-    FIXME("(%p, %p)\n", This, pMessageType);
-    return E_NOTIMPL;
+    IWSDUdpAddressImpl *impl = impl_from_IWSDUdpAddress(This);
+
+    TRACE("(%p, %p)\n", This, pMessageType);
+
+    if (pMessageType == NULL)
+    {
+        return E_POINTER;
+    }
+
+    *pMessageType = impl->messageType;
+    return S_OK;
 }
 
 static HRESULT WINAPI IWSDUdpAddressImpl_SetTTL(IWSDUdpAddress *This, DWORD dwTTL)
diff --git a/dlls/wsdapi/tests/address.c b/dlls/wsdapi/tests/address.c
index 1a18f02..0a2824a 100644
--- a/dlls/wsdapi/tests/address.c
+++ b/dlls/wsdapi/tests/address.c
@@ -210,26 +210,26 @@ static void GetSetMessageType_udp_tests(void)
     ok(udpAddress != NULL, "WSDCreateUdpAddress(NULL, &udpAddress) failed: udpAddress == NULL\n");
 
     rc = IWSDUdpAddress_GetMessageType(udpAddress, NULL);
-    todo_wine ok(rc == E_POINTER, "GetMessageType returned unexpected result: %08x\n", rc);
+    ok(rc == E_POINTER, "GetMessageType returned unexpected result: %08x\n", rc);
 
     rc = IWSDUdpAddress_GetMessageType(udpAddress, &actualMessageType);
-    todo_wine ok(rc == S_OK, "GetMessageType returned unexpected result: %08x\n", rc);
+    ok(rc == S_OK, "GetMessageType returned unexpected result: %08x\n", rc);
     ok(actualMessageType == 0, "GetMessageType returned unexpected message type: %d\n", actualMessageType);
 
     /* Try setting a message type */
     rc = IWSDUdpAddress_SetMessageType(udpAddress, expectedMessageType1);
-    todo_wine ok(rc == S_OK, "SetMessageType returned unexpected result: %08x\n", rc);
+    ok(rc == S_OK, "SetMessageType returned unexpected result: %08x\n", rc);
 
     rc = IWSDUdpAddress_GetMessageType(udpAddress, &actualMessageType);
-    todo_wine ok(rc == S_OK, "GetMessageType returned unexpected result: %08x\n", rc);
-    todo_wine ok(actualMessageType == expectedMessageType1, "GetMessageType returned unexpected message type: %d\n", actualMessageType);
+    ok(rc == S_OK, "GetMessageType returned unexpected result: %08x\n", rc);
+    ok(actualMessageType == expectedMessageType1, "GetMessageType returned unexpected message type: %d\n", actualMessageType);
 
     /* Set another one */
     rc = IWSDUdpAddress_SetMessageType(udpAddress, expectedMessageType2);
-    todo_wine ok(rc == S_OK, "SetMessageType returned unexpected result: %08x\n", rc);
+    ok(rc == S_OK, "SetMessageType returned unexpected result: %08x\n", rc);
 
     rc = IWSDUdpAddress_GetMessageType(udpAddress, &actualMessageType);
-    todo_wine ok(rc == S_OK, "GetMessageType returned unexpected result: %08x\n", rc);
+    ok(rc == S_OK, "GetMessageType returned unexpected result: %08x\n", rc);
     ok(actualMessageType == expectedMessageType2, "GetMessageType returned unexpected message type: %d\n", actualMessageType);
 
     /* Release the object */




More information about the wine-cvs mailing list