Open Lighting Architecture  Latest Git
Public Member Functions | Protected Member Functions | List of all members
ola::BasicOutputPort Class Reference

Detailed Description

An implementation of an OutputPort.

Inheritance diagram for ola::BasicOutputPort:
Inheritance graph
[legend]
Collaboration diagram for ola::BasicOutputPort:
Collaboration graph
[legend]

Public Member Functions

 BasicOutputPort (AbstractDevice *parent, unsigned int port_id, bool start_rdm_discovery_on_patch=false, bool supports_rdm=false)
 Create a new BasicOutputPort.
 
unsigned int PortId () const
 Get the Port ID. This is the index within the device. More...
 
AbstractDeviceGetDevice () const
 Get the device which owns this Port. More...
 
bool SetUniverse (Universe *universe)
 Bind this port to a universe. More...
 
UniverseGetUniverse () const
 Fetch the universe this Port is bound to. More...
 
std::string UniqueId () const
 Return the globally unique id for a Port. More...
 
bool SetPriority (uint8_t priority)
 Set the Priority for this Port. More...
 
uint8_t GetPriority () const
 Get the numeric priority for this Port. More...
 
void SetPriorityMode (port_priority_mode mode)
 Set the Priority Mode for this Port. More...
 
port_priority_mode GetPriorityMode () const
 Get the Priority Mode for this Port. More...
 
virtual void UniverseNameChanged (const std::string &new_name)
 Called if the universe name changes.
 
port_priority_capability PriorityCapability () const
 Get the priority capabilities for this port. More...
 
virtual void SendRDMRequest (ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *callback)
 Handle an RDMRequest, subclasses can implement this to support RDM.
 
virtual void RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete)
 This is a noop for ports that don't support RDM.
 
virtual void RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete)
 This is a noop for ports that don't support RDM.
 
virtual bool SupportsTimeCode () const
 
virtual bool SendTimeCode (const ola::timecode::TimeCode &)
 This is a noop for ports that don't support TimeCode.
 
virtual bool PreSetUniverse (Universe *, Universe *)
 
virtual void PostSetUniverse (Universe *, Universe *)
 
virtual bool SupportsRDM () const
 Check if this Port supports RDM or not. More...
 
- Public Member Functions inherited from ola::OutputPort
virtual bool WriteDMX (const DmxBuffer &buffer, uint8_t priority)=0
 Write DMX data to this port. More...
 
- Public Member Functions inherited from ola::Port
virtual std::string Description () const =0
 Fetch the string description for a Port. More...
 

Protected Member Functions

virtual bool SupportsPriorities () const
 
void UpdateUIDs (const ola::rdm::UIDSet &uids)
 Called when the discovery triggered by patching completes.
 

Member Function Documentation

◆ GetDevice()

AbstractDevice* ola::BasicOutputPort::GetDevice ( ) const
inlinevirtual

Get the device which owns this Port.

Returns
the Device which owns this Port.

Implements ola::Port.

◆ GetPriority()

uint8_t ola::BasicOutputPort::GetPriority ( ) const
inlinevirtual

Get the numeric priority for this Port.

Returns
the priority, higher numbers take precedence.

Implements ola::Port.

◆ GetPriorityMode()

port_priority_mode ola::BasicOutputPort::GetPriorityMode ( ) const
inlinevirtual

Get the Priority Mode for this Port.

Returns
the Priority Mode.

Implements ola::Port.

◆ GetUniverse()

Universe* ola::BasicOutputPort::GetUniverse ( ) const
inlinevirtual

Fetch the universe this Port is bound to.

Returns
the Universe that this Port is bound to or NULL if the Port isn't patched.

Implements ola::Port.

◆ PortId()

unsigned int ola::BasicOutputPort::PortId ( ) const
inlinevirtual

Get the Port ID. This is the index within the device.

Returns
the id of the Port.

Implements ola::Port.

◆ PriorityCapability()

port_priority_capability ola::BasicOutputPort::PriorityCapability ( ) const
inlinevirtual

Get the priority capabilities for this port.

Returns
a port_priority_capability.

Implements ola::Port.

◆ SetPriority()

bool ola::BasicOutputPort::SetPriority ( uint8_t  priority)
virtual

Set the Priority for this Port.

Parameters
prioritythe priority to use.

Implements ola::Port.

◆ SetPriorityMode()

void ola::BasicOutputPort::SetPriorityMode ( port_priority_mode  mode)
inlinevirtual

Set the Priority Mode for this Port.

Parameters
modethe Priority Mode to use.

Implements ola::Port.

◆ SetUniverse()

bool ola::BasicOutputPort::SetUniverse ( Universe universe)
virtual

Bind this port to a universe.

Parameters
universethe Universe to bind to.
Returns
true if the patch succeeded, false otherwise.

This shouldn't be called directly. Instead use PortManager::PatchPort() which takes care of everything for you.

Implements ola::Port.

◆ SupportsRDM()

virtual bool ola::BasicOutputPort::SupportsRDM ( ) const
inlinevirtual

Check if this Port supports RDM or not.

Returns
true if RDM is supported for this Port, false otherwise.

Implements ola::Port.

◆ UniqueId()

string ola::BasicOutputPort::UniqueId ( ) const
virtual

Return the globally unique id for a Port.

This is used to preserve port universe bindings. An empty string means we don't preserve settings.

Implements ola::Port.


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