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

Detailed Description

The root device in the simulated dimmer.

Inheritance diagram for ola::rdm::DimmerRootDevice:
ola::rdm::RDMControllerInterface

Classes

class  RDMOps

Public Types

typedef const std::map
< uint16_t, class
DimmerSubDevice * > 
SubDeviceMap

Public Member Functions

 DimmerRootDevice (const UID &uid, SubDeviceMap sub_devices)
void SendRDMRequest (const RDMRequest *request, RDMCallback *callback)

Constructor & Destructor Documentation

ola::rdm::DimmerRootDevice::DimmerRootDevice ( const UID uid,
SubDeviceMap  sub_devices 
)

Create a new dimmer root device. Ownership of the DimmerSubDevices is not transferred.

Member Function Documentation

void ola::rdm::DimmerRootDevice::SendRDMRequest ( const RDMRequest request,
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: