Skip to content

OcaWorker#

This document describes the controller implementation of OcaWorker. This class is documented in the AES70 standard as:

Abstract base class for classes that represent the device's application and support functions.


Overview#

Class Declaration#

namespace aes70::controller
{
  class OcaWorker : public OcaRoot
  {
  public:
    OcaWorker(std::shared_ptr<connection> connection,
            uin32_t object_number);
    OcaWorker(const OcaWorker &o);

    // Control Methods
    // Calls GetEnabled and calls on_result or on_failure
    void GetEnabled(auto on_result, failure_callback on_failure);
    // Calls SetEnabled and calls on_result or on_failure
    void SetEnabled(OcaBoolean enabled, auto on_result, failure_callback on_failure);
    // Calls SetEnabled and does not wait for the response
    void SetEnabled(OcaBoolean enabled);
    // Calls AddPort and calls on_result or on_failure
    void AddPort(OcaString Name, OcaIODirection Mode, auto on_result, failure_callback on_failure);
    // Calls AddPort and does not wait for the response
    void AddPort(OcaString Name, OcaIODirection Mode);
    // Calls DeletePort and calls on_result or on_failure
    void DeletePort(OcaPortID ID, auto on_result, failure_callback on_failure);
    // Calls DeletePort and does not wait for the response
    void DeletePort(OcaPortID ID);
    // Calls GetPorts and calls on_result or on_failure
    void GetPorts(auto on_result, failure_callback on_failure);
    // Calls GetPortName and calls on_result or on_failure
    void GetPortName(OcaPortID PortID, auto on_result, failure_callback on_failure);
    // Calls GetPortName and does not wait for the response
    void GetPortName(OcaPortID PortID);
    // Calls SetPortName and calls on_result or on_failure
    void SetPortName(OcaPortID ID, OcaString Name, auto on_result, failure_callback on_failure);
    // Calls SetPortName and does not wait for the response
    void SetPortName(OcaPortID ID, OcaString Name);
    // Calls GetLabel and calls on_result or on_failure
    void GetLabel(auto on_result, failure_callback on_failure);
    // Calls SetLabel and calls on_result or on_failure
    void SetLabel(OcaString label, auto on_result, failure_callback on_failure);
    // Calls SetLabel and does not wait for the response
    void SetLabel(OcaString label);
    // Calls GetOwner and calls on_result or on_failure
    void GetOwner(auto on_result, failure_callback on_failure);
    // Calls GetLatency and calls on_result or on_failure
    void GetLatency(auto on_result, failure_callback on_failure);
    // Calls SetLatency and calls on_result or on_failure
    void SetLatency(OcaTimeInterval latency, auto on_result, failure_callback on_failure);
    // Calls SetLatency and does not wait for the response
    void SetLatency(OcaTimeInterval latency);
    // Calls GetPath and calls on_result or on_failure
    void GetPath(auto on_result, failure_callback on_failure);
    // Calls GetPortClockMap and calls on_result or on_failure
    void GetPortClockMap(auto on_result, failure_callback on_failure);
    // Calls SetPortClockMap and calls on_result or on_failure
    void SetPortClockMap(OcaMap<OcaPortID, OcaPortClockMapEntry> Map, auto on_result, failure_callback on_failure);
    // Calls SetPortClockMap and does not wait for the response
    void SetPortClockMap(OcaMap<OcaPortID, OcaPortClockMapEntry> Map);
    // Calls GetPortClockMapEntry and calls on_result or on_failure
    void GetPortClockMapEntry(OcaPortID ID, auto on_result, failure_callback on_failure);
    // Calls GetPortClockMapEntry and does not wait for the response
    void GetPortClockMapEntry(OcaPortID ID);
    // Calls SetPortClockMapEntry and calls on_result or on_failure
    void SetPortClockMapEntry(OcaPortID PortID, OcaPortClockMapEntry Entry, auto on_result, failure_callback on_failure);
    // Calls SetPortClockMapEntry and does not wait for the response
    void SetPortClockMapEntry(OcaPortID PortID, OcaPortClockMapEntry Entry);
    // Calls DeletePortClockMapEntry and calls on_result or on_failure
    void DeletePortClockMapEntry(OcaPortID ID, auto on_result, failure_callback on_failure);
    // Calls DeletePortClockMapEntry and does not wait for the response
    void DeletePortClockMapEntry(OcaPortID ID);

    // Observing Properties
    subscription observeEnabled(auto callback, failure_callback on_failure);
    subscription observePorts(auto callback, failure_callback on_failure);
    subscription observeLabel(auto callback, failure_callback on_failure);
    subscription observeLatency(auto callback, failure_callback on_failure);
    subscription observePortClockMap(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnEnabledChanged(auto callback, failure_callback on_failure);
    subscription OnPortsChanged(auto callback, failure_callback on_failure);
    subscription OnLabelChanged(auto callback, failure_callback on_failure);
    subscription OnLatencyChanged(auto callback, failure_callback on_failure);
    subscription OnPortClockMapChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetEnabled#

void GetEnabled(auto on_result, failure_callback on_failure)

Calls the method GetEnabled in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaBoolean enabled
  • failure_callback on_failure: A callback which is called on error.

SetEnabled#

void SetEnabled(OcaBoolean enabled, auto on_result, failure_callback on_failure)

Calls the method SetEnabled in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaBoolean enabled
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

AddPort#

void AddPort(OcaString Name, OcaIODirection Mode, auto on_result, failure_callback on_failure)

Calls the method AddPort in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaString Name
  • OcaIODirection Mode
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaPortID ID
  • failure_callback on_failure: A callback which is called on error.

DeletePort#

void DeletePort(OcaPortID ID, auto on_result, failure_callback on_failure)

Calls the method DeletePort in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaPortID ID
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetPorts#

void GetPorts(auto on_result, failure_callback on_failure)

Calls the method GetPorts in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaList<OcaPort> OcaPorts
  • failure_callback on_failure: A callback which is called on error.

GetPortName#

void GetPortName(OcaPortID PortID, auto on_result, failure_callback on_failure)

Calls the method GetPortName in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaPortID PortID
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaString Name
  • failure_callback on_failure: A callback which is called on error.

SetPortName#

void SetPortName(OcaPortID ID, OcaString Name, auto on_result, failure_callback on_failure)

Calls the method SetPortName in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaPortID ID
  • OcaString Name
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetLabel#

void GetLabel(auto on_result, failure_callback on_failure)

Calls the method GetLabel in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaString label
  • failure_callback on_failure: A callback which is called on error.

SetLabel#

void SetLabel(OcaString label, auto on_result, failure_callback on_failure)

Calls the method SetLabel in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaString label
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetOwner#

void GetOwner(auto on_result, failure_callback on_failure)

Calls the method GetOwner in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaONo owner
  • failure_callback on_failure: A callback which is called on error.

GetLatency#

void GetLatency(auto on_result, failure_callback on_failure)

Calls the method GetLatency in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaTimeInterval latency
  • failure_callback on_failure: A callback which is called on error.

SetLatency#

void SetLatency(OcaTimeInterval latency, auto on_result, failure_callback on_failure)

Calls the method SetLatency in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaTimeInterval latency
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetPath#

void GetPath(auto on_result, failure_callback on_failure)

Calls the method GetPath in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaRolePath RolePath
    • OcaONoPath ONoPath
  • failure_callback on_failure: A callback which is called on error.

GetPortClockMap#

void GetPortClockMap(auto on_result, failure_callback on_failure)

Calls the method GetPortClockMap in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaMap<OcaPortID, OcaPortClockMapEntry> Map
  • failure_callback on_failure: A callback which is called on error.

SetPortClockMap#

void SetPortClockMap(OcaMap<OcaPortID, OcaPortClockMapEntry> Map, auto on_result, failure_callback on_failure)

Calls the method SetPortClockMap in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaMap<OcaPortID, OcaPortClockMapEntry> Map
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetPortClockMapEntry#

void GetPortClockMapEntry(OcaPortID ID, auto on_result, failure_callback on_failure)

Calls the method GetPortClockMapEntry in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaPortID ID
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaPortClockMapEntry Entry
  • failure_callback on_failure: A callback which is called on error.

SetPortClockMapEntry#

void SetPortClockMapEntry(OcaPortID PortID, OcaPortClockMapEntry Entry, auto on_result, failure_callback on_failure)

Calls the method SetPortClockMapEntry in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaPortID PortID
  • OcaPortClockMapEntry Entry
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

DeletePortClockMapEntry#

void DeletePortClockMapEntry(OcaPortID ID, auto on_result, failure_callback on_failure)

Calls the method DeletePortClockMapEntry in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaPortID ID
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

observeEnabled#

subscription observeEnabled(auto callback, failure_callback on_failure)

Fetches the remote property Enabled and subscribes for modifications. The callback is called with the initial values of Enabled and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaBoolean Enabled
  • failure_callback on_failure: A callback which is called on error.

observePorts#

subscription observePorts(auto callback, failure_callback on_failure)

Fetches the remote property Ports and subscribes for modifications. The callback is called with the initial values of Ports and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaPort> Ports
  • failure_callback on_failure: A callback which is called on error.

observeLabel#

subscription observeLabel(auto callback, failure_callback on_failure)

Fetches the remote property Label and subscribes for modifications. The callback is called with the initial values of Label and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaString Label
  • failure_callback on_failure: A callback which is called on error.

observeLatency#

subscription observeLatency(auto callback, failure_callback on_failure)

Fetches the remote property Latency and subscribes for modifications. The callback is called with the initial values of Latency and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaTimeInterval Latency
  • failure_callback on_failure: A callback which is called on error.

observePortClockMap#

subscription observePortClockMap(auto callback, failure_callback on_failure)

Fetches the remote property PortClockMap and subscribes for modifications. The callback is called with the initial values of PortClockMap and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaPortID, OcaPortClockMapEntry> PortClockMap
  • failure_callback on_failure: A callback which is called on error.

OnEnabledChanged#

subscription OnEnabledChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaBoolean Enabled
  • failure_callback on_failure: A callback which is called on error.

OnPortsChanged#

subscription OnPortsChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaPort> Ports
  • failure_callback on_failure: A callback which is called on error.

OnLabelChanged#

subscription OnLabelChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaString Label
  • failure_callback on_failure: A callback which is called on error.

OnLatencyChanged#

subscription OnLatencyChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaTimeInterval Latency
  • failure_callback on_failure: A callback which is called on error.

OnPortClockMapChanged#

subscription OnPortClockMapChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaPortID, OcaPortClockMapEntry> PortClockMap
  • failure_callback on_failure: A callback which is called on error.