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

Classes

struct  broadcast_request_tracker

Public Types

enum  merge_mode { MERGE_HTP, MERGE_LTP }

Public Member Functions

 Universe (unsigned int uid, class UniverseStore *store, ExportMap *export_map, Clock *clock)
std::string Name () const
unsigned int UniverseId () const
merge_mode MergeMode () const
bool IsActive () const
uint8_t ActivePriority () const
const TimeInterval & RDMDiscoveryInterval () const
 Return the time between RDM discovery operations.
const TimeStamp & LastRDMDiscovery () const
 Get the time of the last discovery run.
void SetName (const std::string &name)
void SetMergeMode (merge_mode merge_mode)
void SetRDMDiscoveryInterval (const TimeInterval &discovery_interval)
bool SetDMX (const DmxBuffer &buffer)
const DmxBuffer & GetDMX () const
bool AddPort (InputPort *port)
bool AddPort (OutputPort *port)
bool RemovePort (InputPort *port)
bool RemovePort (OutputPort *port)
bool ContainsPort (InputPort *port) const
bool ContainsPort (OutputPort *port) const
unsigned int InputPortCount () const
unsigned int OutputPortCount () const
void InputPorts (std::vector< InputPort * > *ports)
void OutputPorts (std::vector< OutputPort * > *ports)
bool AddSourceClient (Client *client)
bool RemoveSourceClient (Client *client)
bool ContainsSourceClient (Client *client) const
unsigned int SourceClientCount () const
bool AddSinkClient (Client *client)
bool RemoveSinkClient (Client *client)
bool ContainsSinkClient (Client *client) const
unsigned int SinkClientCount () const
bool PortDataChanged (InputPort *port)
bool SourceClientDataChanged (Client *client)
void CleanStaleSourceClients ()
 Clean old source clients.
void SendRDMRequest (const ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *callback)
void RunRDMDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete, bool full=true)
void NewUIDList (OutputPort *port, const ola::rdm::UIDSet &uids)
void GetUIDs (ola::rdm::UIDSet *uids) const
unsigned int UIDCount () const
bool operator== (const Universe &other)

Static Public Attributes

static const char K_FPS_VAR [] = "universe-dmx-frames"
static const char K_MERGE_HTP_STR [] = "htp"
static const char K_MERGE_LTP_STR [] = "ltp"
static const char K_UNIVERSE_INPUT_PORT_VAR [] = "universe-input-ports"
static const char K_UNIVERSE_MODE_VAR [] = "universe-mode"
static const char K_UNIVERSE_NAME_VAR [] = "universe-name"
static const char K_UNIVERSE_OUTPUT_PORT_VAR [] = "universe-output-ports"
static const char K_UNIVERSE_RDM_REQUESTS [] = "universe-rdm-requests"
static const char K_UNIVERSE_SINK_CLIENTS_VAR [] = "universe-sink-clients"
static const char K_UNIVERSE_SOURCE_CLIENTS_VAR [] = "universe-source-clients"
static const char K_UNIVERSE_UID_COUNT_VAR [] = "universe-uids"

Member Function Documentation

const TimeInterval& ola::Universe::RDMDiscoveryInterval ( ) const
inline

Return the time between RDM discovery operations.

Returns
the amount of time in seconds between RDM discovery runs. A value of 0 means that periodic discovery is disabled for this universe.
void ola::Universe::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.

void ola::Universe::SetRDMDiscoveryInterval ( const TimeInterval &  discovery_interval)
inline

Set the time between periodic RDM discovery operations.

unsigned int ola::Universe::UIDCount ( ) const

Return the number of uids in the universe


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