Polymorphic endpoint handle. More...
#include <ump_endpoint.hpp>
Public Member Functions | |
| virtual | ~UmpEndpoint ()=default |
| virtual const UmpEndpointInfo & | info () const noexcept=0 |
| Snapshot of the endpoint's static metadata. | |
| virtual void | set_receive_callback (UmpReceiveCallback cb)=0 |
| Register the receive callback. | |
| virtual bool | send (const UmpPacket &packet)=0 |
| Send a UMP packet. | |
| virtual bool | is_open () const noexcept=0 |
| True iff the endpoint is currently usable (port connected, virtual endpoint live). | |
Polymorphic endpoint handle.
The concrete subclass lives in the platform backend (or VirtualUmpEndpoint for the in-process kind).
|
virtualdefault |
|
pure virtualnoexcept |
Snapshot of the endpoint's static metadata.
Implemented in pulp::midi::VirtualUmpEndpoint.
|
pure virtualnoexcept |
True iff the endpoint is currently usable (port connected, virtual endpoint live).
Implemented in pulp::midi::VirtualUmpEndpoint.
|
pure virtual |
Send a UMP packet.
Returns false if the endpoint is not open for sending or the OS rejected the write. The packet's word_count must be 1..4; senders are responsible for choosing the right MessageType.
Implemented in pulp::midi::VirtualUmpEndpoint.
|
pure virtual |
Register the receive callback.
Pass nullptr to detach. Calling this while the endpoint is open is permitted: the new callback takes effect for subsequent deliveries (callers that care about strict ordering should detach, drain, then re-attach).
On endpoints that lack a receive direction this is a no-op.
Implemented in pulp::midi::VirtualUmpEndpoint.