Open Lighting Architecture: ola::usb::JaRulePortHandleImpl Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Member Functions | List of all members
ola::usb::JaRulePortHandleImpl Class Reference

## Detailed Description

The internal implementation of a Ja Rule Port Handle.

This class is responsible for translating high level intent, e.g. "send RDM command" to the binary messages that can then be passed to a JaRuleWidget.

Inheritance diagram for ola::usb::JaRulePortHandleImpl:

## Public Member Functions
| JaRulePortHandleImpl (class JaRuleWidgetPort *parent_port, const ola::rdm::UID &uid, uint8_t physical_port)
| Create a new JaRulePortHandleImpl.
void | RunFullDiscovery (ola::rdm::RDMDiscoveryCallback *callback)
| Start a full discovery operation.
void | RunIncrementalDiscovery (ola::rdm::RDMDiscoveryCallback *callback)
| Start an incremental discovery operation.
void | SendRDMRequest (ola::rdm::RDMRequest *request, ola::rdm::RDMCallback *on_complete)
| Send a RDM command.
void | MuteDevice (const ola::rdm::UID &target, MuteDeviceCallback *mute_complete)
| Mute a device.
void | UnMuteAll (UnMuteDeviceCallback *unmute_complete)
| Unmute all devices.
void | Branch (const ola::rdm::UID &lower, const ola::rdm::UID &upper, BranchCallback *branch_complete)
| Send a DUB command.
bool | SendDMX (const DmxBuffer &buffer)
| Send DMX data from this widget.
bool | SetPortMode (JaRulePortMode new_mode)
| Change the mode of this port.

## Additional Inherited Members
Public Types inherited from ola::rdm::DiscoveryTargetInterface
typedef ola::BaseCallback1< void, bool > | MuteDeviceCallback
| The callback run when a mute command completes.
typedef ola::BaseCallback0< void > | UnMuteDeviceCallback
| The callback run when an unmute command completes.
typedef ola::BaseCallback2< void, const uint8_t *, unsigned int > | BranchCallback
| The callback run when a DUB command completes.

## Member Function Documentation

## ◆ Branch()

void ola::usb::JaRulePortHandleImpl::Branch | ( | const ola::rdm::UID & | lower,
|  | const ola::rdm::UID & | upper,
|  | BranchCallback * | callback )
| virtual

Send a DUB command.

Parameters

  lower | the lower bound UID.
  upper | the upper bound UID.
  callback | the callback to run when the DUB completes.

Any data received in response to the DUB command should be passed back when the callback is run.

Implements ola::rdm::DiscoveryTargetInterface.

## ◆ MuteDevice()

void ola::usb::JaRulePortHandleImpl::MuteDevice | ( | const ola::rdm::UID & | target,
|  | MuteDeviceCallback * | mute_complete )
| virtual

Mute a device.

Parameters

  target | the device to mute
  mute_complete | the callback to run when the mute operations completes.

Implements ola::rdm::DiscoveryTargetInterface.

## ◆ RunFullDiscovery()

void ola::usb::JaRulePortHandleImpl::RunFullDiscovery | ( | ola::rdm::RDMDiscoveryCallback * | callback | ) |
| virtual

Start a full discovery operation.

Parameters

  callback | The callback run when discovery completes. This may run immediately in some implementations.

Implements ola::rdm::DiscoverableRDMControllerInterface.

## ◆ RunIncrementalDiscovery()

void ola::usb::JaRulePortHandleImpl::RunIncrementalDiscovery | ( | ola::rdm::RDMDiscoveryCallback * | callback | ) |
| virtual

Start an incremental discovery operation.

Parameters

  callback | The callback run when discovery completes. This may run immediately in some implementations.

Implements ola::rdm::DiscoverableRDMControllerInterface.

## ◆ SendDMX()

bool ola::usb::JaRulePortHandleImpl::SendDMX | ( | const DmxBuffer & | buffer | ) |

Send DMX data from this widget.

Parameters

  buffer | The DmxBuffer containing the data to send.

Returns
  true if the data was sent, false otherwise.

## ◆ SendRDMRequest()

void ola::usb::JaRulePortHandleImpl::SendRDMRequest | ( | ola::rdm::RDMRequest * | request,
|  | ola::rdm::RDMCallback * | on_complete )
| virtual

Send a RDM command.

Parameters

  request | the RDMRequest, ownership is transferred.
  on_complete | The callback to run when the request completes.

Implementors much ensure that the callback is always run at some point. In other words, 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 may want to re-write the transaction #, and possibly the UID (changing src UIDs isn't addressed by the RDM spec).

The RDMRequest may be a DISCOVERY_COMMAND, if the implementation does not support DISCOVERY_COMMANDs then the callback should be run with ola::rdm::RDM_PLUGIN_DISCOVERY_NOT_SUPPORTED.

Implements ola::rdm::RDMControllerInterface.

## ◆ UnMuteAll()

void ola::usb::JaRulePortHandleImpl::UnMuteAll | ( | UnMuteDeviceCallback * | unmute_complete | ) |
| virtual

Unmute all devices.

Parameters

  unmute_complete | the callback to run when the unmute operation completes.

Implements ola::rdm::DiscoveryTargetInterface.

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

- libs/usb/JaRulePortHandleImpl.h
- libs/usb/JaRulePortHandleImpl.cpp