Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DnsQuery
Fork of NetworkSocketAPI by
Diff: UDPSocket.cpp
- Revision:
- 9:1600369a29dd
- Parent:
- 8:9c6673c93082
- Child:
- 10:97d166c4a193
--- a/UDPSocket.cpp Tue Apr 05 12:02:56 2016 -0500 +++ b/UDPSocket.cpp Tue Apr 05 12:52:07 2016 -0500 @@ -47,3 +47,35 @@ return _iface->socket_recvfrom(_socket, address, buffer, size); } + + +void UDPSocket::attach_send(mbed::FuncPtr<void()> callback) +{ + _send_cb = callback; + if (_socket && _send_cb) { + return _iface->socket_attach_send(_socket, Socket::thunk, &_send_cb); + } else if (_socket) { + return _iface->socket_attach_send(_socket, 0, 0); + } +} + +void UDPSocket::attach_recv(mbed::FuncPtr<void()> callback) +{ + _recv_cb = callback; + if (_socket && _recv_cb) { + return _iface->socket_attach_recv(_socket, Socket::thunk, &_recv_cb); + } else if (_socket) { + return _iface->socket_attach_recv(_socket, 0, 0); + } +} + +UDPSocket::~UDPSocket() +{ + if (_socket && _send_cb) { + _iface->socket_attach_send(_socket, 0, 0); + } + + if (_socket && _recv_cb) { + _iface->socket_attach_recv(_socket, 0, 0); + } +}