Open Lighting Architecture
|
This glues the ArtNetNodeImpl together with the QueueingRDMController. The ArtNetNodeImpl takes a port id so we need this extra layer.
Public Member Functions | |
ArtNetNodeImplRDMWrapper (ArtNetNodeImpl *impl, uint8_t port_id) | |
void | SendRDMRequest (const ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete) |
void | RunFullDiscovery (RDMDiscoveryCallback *callback) |
void | RunIncrementalDiscovery (RDMDiscoveryCallback *callback) |
Public Member Functions inherited from ola::rdm::DiscoverableRDMControllerInterface | |
virtual void | RunFullDiscovery (RDMDiscoveryCallback *callback)=0 |
virtual void | RunIncrementalDiscovery (RDMDiscoveryCallback *callback)=0 |
|
inlinevirtual |
Assumption: A class that implements this MUST ensure that as time tends to infinity, the probably that the callback is run tends to 1. That is, there must be no way that a request can be dropped in such a way that the callback is never run. Doing so will either block all subsequent requests, or leak memory depending on the implementation.
Also the implementor of this class should re-write the transaction #, and possibly the UID (changing src UIDs isn't addressed by the RDM spec).
Implements ola::rdm::RDMControllerInterface.