Skip to content

OcaGroup#

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

Control aggregator. See [AES70-1(Control Aggregation)] for the normative specification of OcaGroup semantics.


Overview#

Class Declaration#

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

    // Control Methods
    // Calls GetMembers and calls on_result or on_failure
    void GetMembers(auto on_result, failure_callback on_failure);
    // Calls SetMembers and calls on_result or on_failure
    void SetMembers(OcaList<OcaONo> Members, auto on_result, failure_callback on_failure);
    // Calls SetMembers and does not wait for the response
    void SetMembers(OcaList<OcaONo> Members);
    // Calls AddMember and calls on_result or on_failure
    void AddMember(OcaONo Member, auto on_result, failure_callback on_failure);
    // Calls AddMember and does not wait for the response
    void AddMember(OcaONo Member);
    // Calls RemoveMember and calls on_result or on_failure
    void RemoveMember(OcaONo Member, auto on_result, failure_callback on_failure);
    // Calls RemoveMember and does not wait for the response
    void RemoveMember(OcaONo Member);
    // Calls GetGroupControllerONo and calls on_result or on_failure
    void GetGroupControllerONo(auto on_result, failure_callback on_failure);
    // Calls SetGroupControllerONo and calls on_result or on_failure
    void SetGroupControllerONo(OcaONo ONo, auto on_result, failure_callback on_failure);
    // Calls SetGroupControllerONo and does not wait for the response
    void SetGroupControllerONo(OcaONo ONo);
    // Calls GetAggregationRule and calls on_result or on_failure
    void GetAggregationRule(auto on_result, failure_callback on_failure);
    // Calls SetAggregationRule and calls on_result or on_failure
    void SetAggregationRule(OcaString Rule, auto on_result, failure_callback on_failure);
    // Calls SetAggregationRule and does not wait for the response
    void SetAggregationRule(OcaString Rule);
    // Calls GetSaturationRule and calls on_result or on_failure
    void GetSaturationRule(auto on_result, failure_callback on_failure);
    // Calls SetSaturationRule and calls on_result or on_failure
    void SetSaturationRule(OcaString Rule, auto on_result, failure_callback on_failure);
    // Calls SetSaturationRule and does not wait for the response
    void SetSaturationRule(OcaString Rule);

    // Observing Properties
    subscription observeMembers(auto callback, failure_callback on_failure);
    subscription observeGroupControllerONo(auto callback, failure_callback on_failure);
    subscription observeAggregationRule(auto callback, failure_callback on_failure);
    subscription observeSaturationRule(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnMembersChanged(auto callback, failure_callback on_failure);
    subscription OnGroupControllerONoChanged(auto callback, failure_callback on_failure);
    subscription OnAggregationRuleChanged(auto callback, failure_callback on_failure);
    subscription OnSaturationRuleChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetMembers#

void GetMembers(auto on_result, failure_callback on_failure)

Calls the method GetMembers in the remote device.

Parameters:#

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

SetMembers#

void SetMembers(OcaList<OcaONo> Members, auto on_result, failure_callback on_failure)

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

Parameters:#

  • OcaList<OcaONo> Members
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

AddMember#

void AddMember(OcaONo Member, auto on_result, failure_callback on_failure)

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

Parameters:#

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

RemoveMember#

void RemoveMember(OcaONo Member, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetGroupControllerONo#

void GetGroupControllerONo(auto on_result, failure_callback on_failure)

Calls the method GetGroupControllerONo in the remote device.

Parameters:#

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

SetGroupControllerONo#

void SetGroupControllerONo(OcaONo ONo, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetAggregationRule#

void GetAggregationRule(auto on_result, failure_callback on_failure)

Calls the method GetAggregationRule in the remote device.

Parameters:#

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

SetAggregationRule#

void SetAggregationRule(OcaString Rule, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetSaturationRule#

void GetSaturationRule(auto on_result, failure_callback on_failure)

Calls the method GetSaturationRule in the remote device.

Parameters:#

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

SetSaturationRule#

void SetSaturationRule(OcaString Rule, auto on_result, failure_callback on_failure)

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

Parameters:#

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

observeMembers#

subscription observeMembers(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeGroupControllerONo#

subscription observeGroupControllerONo(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeAggregationRule#

subscription observeAggregationRule(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeSaturationRule#

subscription observeSaturationRule(auto callback, failure_callback on_failure)

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

Parameters:#

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

OnMembersChanged#

subscription OnMembersChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnGroupControllerONoChanged#

subscription OnGroupControllerONoChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnAggregationRuleChanged#

subscription OnAggregationRuleChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnSaturationRuleChanged#

subscription OnSaturationRuleChanged(auto callback, failure_callback on_failure)

Parameters#

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