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

Detailed Description

This is a class that can send RDM messages.

Inheritance diagram for ola::rdm::RDMControllerInterface:
ola::rdm::AckTimerResponder ola::rdm::AdvancedDimmerResponder ola::rdm::DimmerResponder ola::rdm::DimmerRootDevice ola::rdm::DimmerSubDevice ola::rdm::DiscoverableRDMControllerInterface ola::rdm::DummyResponder ola::rdm::MovingLightResponder ola::rdm::NetworkResponder ola::rdm::QueueingRDMController ola::rdm::SensorResponder ola::rdm::SubDeviceDispatcher ola::Universe

Public Member Functions

virtual void SendRDMRequest (const RDMRequest *request, RDMCallback *on_complete)=0

Member Function Documentation

virtual void ola::rdm::RDMControllerInterface::SendRDMRequest ( const RDMRequest request,
RDMCallback on_complete 
)
pure 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).

Implemented in ola::plugin::artnet::ArtNetNodeImplRDMWrapper, ola::plugin::usbpro::DmxTriWidget, ola::plugin::usbpro::DmxterWidget, ola::plugin::usbpro::RobeWidget, ola::Universe, ola::plugin::usbpro::ArduinoWidget, ola::plugin::usbpro::EnttecPortImpl, ola::plugin::spi::SPIOutput, ola::plugin::usbpro::EnttecPort, ola::plugin::usbpro::RobeWidgetImpl, ola::plugin::usbpro::DmxTriWidgetImpl, ola::rdm::DimmerSubDevice, ola::rdm::QueueingRDMController, ola::rdm::AckTimerResponder, ola::rdm::DimmerResponder, ola::rdm::DiscoverableRDMControllerAdaptor, ola::rdm::DimmerRootDevice, ola::rdm::NetworkResponder, ola::rdm::AdvancedDimmerResponder, ola::rdm::SensorResponder, ola::plugin::usbpro::ArduinoWidgetImpl, ola::plugin::usbpro::DmxterWidgetImpl, ola::rdm::MovingLightResponder, ola::rdm::SubDeviceDispatcher, and ola::rdm::DummyResponder.


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