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

Detailed Description

An implementation of InputPort, provides the basic functionality which saves the plugin implementations from having to do it.

Inheritance diagram for ola::BasicInputPort:
ola::InputPort ola::Port ola::plugin::artnet::ArtNetInputPort ola::plugin::dmx4linux::Dmx4LinuxInputPort ola::plugin::e131::E131InputPort ola::plugin::espnet::EspNetInputPort ola::plugin::openpixelcontrol::OPCInputPort ola::plugin::osc::OSCInputPort ola::plugin::pathport::PathportInputPort ola::plugin::sandnet::SandNetInputPort ola::plugin::shownet::ShowNetInputPort ola::plugin::usbpro::RobeInputPort ola::plugin::usbpro::UltraDMXProInputPort ola::plugin::usbpro::UsbProInputPort

Public Member Functions

 BasicInputPort (AbstractDevice *parent, unsigned int port_id, const PluginAdaptor *plugin_adaptor, bool supports_rdm=false)
 Create a new basic input port.
unsigned int PortId () const
 Get the Port ID. This is the index within the device.
AbstractDevice * GetDevice () const
 Get the device which owns this Port.
bool SetUniverse (Universe *universe)
 Bind this port to a universe.
Universe * GetUniverse () const
 Fetch the universe this Port is bound to.
virtual std::string UniqueId () const
 Return the globally unique id for a Port.
bool SetPriority (uint8_t priority)
 Set the Priority for this Port.
uint8_t GetPriority () const
 Get the numeric priority for this Port.
void SetPriorityMode (port_priority_mode mode)
 Set the Priority Mode for this Port.
port_priority_mode GetPriorityMode () const
 Get the Priority Mode for this Port.
void DmxChanged ()
 Called when there is new data for this port.
const DmxSource & SourceData () const
 Get the current DMX data.
void HandleRDMRequest (const ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *callback)
 Handle an RDM Request on this port.
void TriggerRDMDiscovery (ola::rdm::RDMDiscoveryCallback *on_complete, bool full=true)
 Trigger the RDM Discovery procedure for this universe.
port_priority_capability PriorityCapability () const
 Get the priority capabilities for this port.
virtual const DmxBuffer & ReadDMX () const =0
virtual uint8_t InheritedPriority () const
virtual bool PreSetUniverse (Universe *, Universe *)
virtual void PostSetUniverse (Universe *, Universe *)
virtual bool SupportsRDM () const
 Check if this Port supports RDM or not.

Protected Member Functions

virtual bool SupportsPriorities () const

Member Function Documentation

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

Get the device which owns this Port.

Returns
the Device which owns this Port.

Implements ola::Port.

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

Get the numeric priority for this Port.

Returns
the priority, higher numbers take precedence.

Implements ola::Port.

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

Get the Priority Mode for this Port.

Returns
the Priority Mode.

Implements ola::Port.

Universe* ola::BasicInputPort::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.

void ola::BasicInputPort::HandleRDMRequest ( const ola::rdm::RDMRequest *  request,
ola::rdm::RDMCallback *  callback 
)
virtual

Handle an RDM Request on this port.

Parameters
requestthe RDMRequest object, ownership is transferred to us
callbackthe callback to run

Implements ola::InputPort.

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

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

Returns
the id of the Port.

Implements ola::Port.

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

Get the priority capabilities for this port.

Returns
a port_priority_capability.

Implements ola::Port.

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

Set the Priority for this Port.

Parameters
prioritythe priority to use.

Implements ola::Port.

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

Set the Priority Mode for this Port.

Parameters
modethe Priority Mode to use.

Implements ola::Port.

bool ola::BasicInputPort::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.

virtual bool ola::BasicInputPort::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.

string ola::BasicInputPort::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: