Skip to content

OcaMediaClock3#

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

A media clock, internal or external. OCA Connection Management 3 (OCA-CM3) version.


Overview#

Class Declaration#

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

    // Control Methods
    // Calls GetAvailability and calls on_result or on_failure
    void GetAvailability(auto on_result, failure_callback on_failure);
    // Calls SetAvailability and calls on_result or on_failure
    void SetAvailability(OcaMediaClockAvailability Availability, auto on_result, failure_callback on_failure);
    // Calls SetAvailability and does not wait for the response
    void SetAvailability(OcaMediaClockAvailability Availability);
    // Calls GetCurrentRate and calls on_result or on_failure
    void GetCurrentRate(auto on_result, failure_callback on_failure);
    // Calls SetCurrentRate and calls on_result or on_failure
    void SetCurrentRate(OcaMediaClockRate Rate, OcaONo TimeSourceONo, auto on_result, failure_callback on_failure);
    // Calls SetCurrentRate and does not wait for the response
    void SetCurrentRate(OcaMediaClockRate Rate, OcaONo TimeSourceONo);
    // Calls GetOffset and calls on_result or on_failure
    void GetOffset(auto on_result, failure_callback on_failure);
    // Calls SetOffset and calls on_result or on_failure
    void SetOffset(OcaTime Offset, auto on_result, failure_callback on_failure);
    // Calls SetOffset and does not wait for the response
    void SetOffset(OcaTime Offset);
    // Calls GetSupportedRates and calls on_result or on_failure
    void GetSupportedRates(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeAvailability(auto callback, failure_callback on_failure);
    subscription observeTimeSourceONo(auto callback, failure_callback on_failure);
    subscription observeOffset(auto callback, failure_callback on_failure);
    subscription observeCurrentRate(auto callback, failure_callback on_failure);
    subscription observeSupportedRates(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnAvailabilityChanged(auto callback, failure_callback on_failure);
    subscription OnTimeSourceONoChanged(auto callback, failure_callback on_failure);
    subscription OnOffsetChanged(auto callback, failure_callback on_failure);
    subscription OnCurrentRateChanged(auto callback, failure_callback on_failure);
    subscription OnSupportedRatesChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetAvailability#

void GetAvailability(auto on_result, failure_callback on_failure)

Calls the method GetAvailability in the remote device.

Parameters:#

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

SetAvailability#

void SetAvailability(OcaMediaClockAvailability Availability, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetCurrentRate#

void GetCurrentRate(auto on_result, failure_callback on_failure)

Calls the method GetCurrentRate in the remote device.

Parameters:#

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

SetCurrentRate#

void SetCurrentRate(OcaMediaClockRate Rate, OcaONo TimeSourceONo, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetOffset#

void GetOffset(auto on_result, failure_callback on_failure)

Calls the method GetOffset in the remote device.

Parameters:#

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

SetOffset#

void SetOffset(OcaTime Offset, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetSupportedRates#

void GetSupportedRates(auto on_result, failure_callback on_failure)

Calls the method GetSupportedRates in the remote device.

Parameters:#

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

observeAvailability#

subscription observeAvailability(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeTimeSourceONo#

subscription observeTimeSourceONo(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeOffset#

subscription observeOffset(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeCurrentRate#

subscription observeCurrentRate(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeSupportedRates#

subscription observeSupportedRates(auto callback, failure_callback on_failure)

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

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaONo, OcaList<OcaMediaClockRate>> SupportedRates
  • failure_callback on_failure: A callback which is called on error.

OnAvailabilityChanged#

subscription OnAvailabilityChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnTimeSourceONoChanged#

subscription OnTimeSourceONoChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnOffsetChanged#

subscription OnOffsetChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnCurrentRateChanged#

subscription OnCurrentRateChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnSupportedRatesChanged#

subscription OnSupportedRatesChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMap<OcaONo, OcaList<OcaMediaClockRate>> SupportedRates
  • failure_callback on_failure: A callback which is called on error.