Skip to content

OcaSwitch#

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

(n)-position switch. Single-pole or multipole, as determined by number of input and output ports. May be instantiated with no ports for use as an option selector.


Overview#

Class Declaration#

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

    // Control Methods
    // Calls GetPosition and calls on_result or on_failure
    void GetPosition(auto on_result, failure_callback on_failure);
    // Calls SetPosition and calls on_result or on_failure
    void SetPosition(OcaUint16 position, auto on_result, failure_callback on_failure);
    // Calls SetPosition and does not wait for the response
    void SetPosition(OcaUint16 position);
    // Calls GetPositionName and calls on_result or on_failure
    void GetPositionName(OcaUint16 Index, auto on_result, failure_callback on_failure);
    // Calls GetPositionName and does not wait for the response
    void GetPositionName(OcaUint16 Index);
    // Calls SetPositionName and calls on_result or on_failure
    void SetPositionName(OcaUint16 Index, OcaString Name, auto on_result, failure_callback on_failure);
    // Calls SetPositionName and does not wait for the response
    void SetPositionName(OcaUint16 Index, OcaString Name);
    // Calls GetPositionNames and calls on_result or on_failure
    void GetPositionNames(auto on_result, failure_callback on_failure);
    // Calls SetPositionNames and calls on_result or on_failure
    void SetPositionNames(OcaList<OcaString> Names, auto on_result, failure_callback on_failure);
    // Calls SetPositionNames and does not wait for the response
    void SetPositionNames(OcaList<OcaString> Names);
    // Calls GetPositionEnableFlag and calls on_result or on_failure
    void GetPositionEnableFlag(OcaUint16 Index, auto on_result, failure_callback on_failure);
    // Calls GetPositionEnableFlag and does not wait for the response
    void GetPositionEnableFlag(OcaUint16 Index);
    // Calls SetPositionEnableFlag and calls on_result or on_failure
    void SetPositionEnableFlag(OcaUint16 Index, OcaBoolean enabled, auto on_result, failure_callback on_failure);
    // Calls SetPositionEnableFlag and does not wait for the response
    void SetPositionEnableFlag(OcaUint16 Index, OcaBoolean enabled);
    // Calls GetPositionEnableFlags and calls on_result or on_failure
    void GetPositionEnableFlags(auto on_result, failure_callback on_failure);
    // Calls SetPositionEnableFlags and calls on_result or on_failure
    void SetPositionEnableFlags(OcaList<OcaBoolean> flags, auto on_result, failure_callback on_failure);
    // Calls SetPositionEnableFlags and does not wait for the response
    void SetPositionEnableFlags(OcaList<OcaBoolean> flags);

    // Observing Properties
    subscription observePosition(auto callback, failure_callback on_failure);
    subscription observePositionNames(auto callback, failure_callback on_failure);
    subscription observePositionEnableFlags(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnPositionChanged(auto callback, failure_callback on_failure);
    subscription OnPositionNamesChanged(auto callback, failure_callback on_failure);
    subscription OnPositionEnableFlagsChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetPosition#

void GetPosition(auto on_result, failure_callback on_failure)

Calls the method GetPosition in the remote device.

Parameters:#

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

SetPosition#

void SetPosition(OcaUint16 position, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetPositionName#

void GetPositionName(OcaUint16 Index, auto on_result, failure_callback on_failure)

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

Parameters:#

  • OcaUint16 Index
  • 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.

SetPositionName#

void SetPositionName(OcaUint16 Index, OcaString Name, auto on_result, failure_callback on_failure)

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

Parameters:#

  • OcaUint16 Index
  • 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.

GetPositionNames#

void GetPositionNames(auto on_result, failure_callback on_failure)

Calls the method GetPositionNames in the remote device.

Parameters:#

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

SetPositionNames#

void SetPositionNames(OcaList<OcaString> Names, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetPositionEnableFlag#

void GetPositionEnableFlag(OcaUint16 Index, auto on_result, failure_callback on_failure)

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

Parameters:#

  • OcaUint16 Index
  • 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.

SetPositionEnableFlag#

void SetPositionEnableFlag(OcaUint16 Index, OcaBoolean enabled, auto on_result, failure_callback on_failure)

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

Parameters:#

  • OcaUint16 Index
  • 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.

GetPositionEnableFlags#

void GetPositionEnableFlags(auto on_result, failure_callback on_failure)

Calls the method GetPositionEnableFlags in the remote device.

Parameters:#

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

SetPositionEnableFlags#

void SetPositionEnableFlags(OcaList<OcaBoolean> flags, auto on_result, failure_callback on_failure)

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

Parameters:#

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

observePosition#

subscription observePosition(auto callback, failure_callback on_failure)

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

Parameters:#

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

observePositionNames#

subscription observePositionNames(auto callback, failure_callback on_failure)

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

Parameters:#

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

observePositionEnableFlags#

subscription observePositionEnableFlags(auto callback, failure_callback on_failure)

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

Parameters:#

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

OnPositionChanged#

subscription OnPositionChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnPositionNamesChanged#

subscription OnPositionNamesChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnPositionEnableFlagsChanged#

subscription OnPositionEnableFlagsChanged(auto callback, failure_callback on_failure)

Parameters#

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