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