Open Lighting Architecture  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | List of all members
ola::rdm::SubDeviceDispatcher Class Reference
Inheritance diagram for ola::rdm::SubDeviceDispatcher:
ola::rdm::RDMControllerInterface

Classes

struct  FanOutTracker

Public Member Functions

void AddSubDevice (uint16_t sub_device_number, ola::rdm::RDMControllerInterface *device)
void SendRDMRequest (const ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *callback)

Member Function Documentation

void ola::rdm::SubDeviceDispatcher::AddSubDevice ( uint16_t  sub_device_number,
ola::rdm::RDMControllerInterface device 
)

Add or remove a sub device. Ownership of the device is not transferred.

void ola::rdm::SubDeviceDispatcher::SendRDMRequest ( const ola::rdm::RDMRequest request,
ola::rdm::RDMCallback on_complete 
)
virtual

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.


The documentation for this class was generated from the following files: