Skip to content

OcaTaskAgent#

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

Task scheduler. Holds a queue of task-program pairs to be executed under specific future conditions.


Overview#

Class Declaration#

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

    // Control Methods
    // Calls ActionPrepare and calls on_result or on_failure
    void ActionPrepare(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode, auto on_result, failure_callback on_failure);
    // Calls ActionPrepare and does not wait for the response
    void ActionPrepare(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode);
    // Calls ActionRun and calls on_result or on_failure
    void ActionRun(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode, auto on_result, failure_callback on_failure);
    // Calls ActionRun and does not wait for the response
    void ActionRun(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode);
    // Calls ActionStart and calls on_result or on_failure
    void ActionStart(auto on_result, failure_callback on_failure);
    // Calls ActionStop and calls on_result or on_failure
    void ActionStop(auto on_result, failure_callback on_failure);
    // Calls ActionReset and calls on_result or on_failure
    void ActionReset(auto on_result, failure_callback on_failure);
    // Calls ActionClear and calls on_result or on_failure
    void ActionClear(auto on_result, failure_callback on_failure);
    // Calls GetBlocked and calls on_result or on_failure
    void GetBlocked(auto on_result, failure_callback on_failure);
    // Calls SetBlocked and calls on_result or on_failure
    void SetBlocked(OcaBoolean Blocked, auto on_result, failure_callback on_failure);
    // Calls SetBlocked and does not wait for the response
    void SetBlocked(OcaBoolean Blocked);
    // Calls GetOperationalState and calls on_result or on_failure
    void GetOperationalState(auto on_result, failure_callback on_failure);
    // Calls GetExecutableONo and calls on_result or on_failure
    void GetExecutableONo(auto on_result, failure_callback on_failure);
    // Calls GetExecutionParameters and calls on_result or on_failure
    void GetExecutionParameters(auto on_result, failure_callback on_failure);
    // Calls GetRunMode and calls on_result or on_failure
    void GetRunMode(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeExecutableONo(auto callback, failure_callback on_failure);
    subscription observeGroupID(auto callback, failure_callback on_failure);
    subscription observeExecutionParameters(auto callback, failure_callback on_failure);
    subscription observeRunMode(auto callback, failure_callback on_failure);
    subscription observeBlocked(auto callback, failure_callback on_failure);
    subscription observeOperationalState(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnExecutableONoChanged(auto callback, failure_callback on_failure);
    subscription OnGroupIDChanged(auto callback, failure_callback on_failure);
    subscription OnExecutionParametersChanged(auto callback, failure_callback on_failure);
    subscription OnRunModeChanged(auto callback, failure_callback on_failure);
    subscription OnBlockedChanged(auto callback, failure_callback on_failure);
    subscription OnOperationalStateChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

ActionPrepare#

void ActionPrepare(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode, auto on_result, failure_callback on_failure)

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

Parameters:#

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

ActionRun#

void ActionRun(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode, auto on_result, failure_callback on_failure)

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

Parameters:#

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

ActionStart#

void ActionStart(auto on_result, failure_callback on_failure)

Calls the method ActionStart in the remote device.

Parameters:#

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

ActionStop#

void ActionStop(auto on_result, failure_callback on_failure)

Calls the method ActionStop in the remote device.

Parameters:#

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

ActionReset#

void ActionReset(auto on_result, failure_callback on_failure)

Calls the method ActionReset in the remote device.

Parameters:#

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

ActionClear#

void ActionClear(auto on_result, failure_callback on_failure)

Calls the method ActionClear in the remote device.

Parameters:#

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

GetBlocked#

void GetBlocked(auto on_result, failure_callback on_failure)

Calls the method GetBlocked in the remote device.

Parameters:#

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

SetBlocked#

void SetBlocked(OcaBoolean Blocked, auto on_result, failure_callback on_failure)

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

Parameters:#

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

GetOperationalState#

void GetOperationalState(auto on_result, failure_callback on_failure)

Calls the method GetOperationalState in the remote device.

Parameters:#

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

GetExecutableONo#

void GetExecutableONo(auto on_result, failure_callback on_failure)

Calls the method GetExecutableONo 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.

GetExecutionParameters#

void GetExecutionParameters(auto on_result, failure_callback on_failure)

Calls the method GetExecutionParameters in the remote device.

Parameters:#

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

GetRunMode#

void GetRunMode(auto on_result, failure_callback on_failure)

Calls the method GetRunMode in the remote device.

Parameters:#

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

observeExecutableONo#

subscription observeExecutableONo(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeGroupID#

subscription observeGroupID(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeExecutionParameters#

subscription observeExecutionParameters(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeRunMode#

subscription observeRunMode(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeBlocked#

subscription observeBlocked(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeOperationalState#

subscription observeOperationalState(auto callback, failure_callback on_failure)

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

Parameters:#

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

OnExecutableONoChanged#

subscription OnExecutableONoChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnGroupIDChanged#

subscription OnGroupIDChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnExecutionParametersChanged#

subscription OnExecutionParametersChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnRunModeChanged#

subscription OnRunModeChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnBlockedChanged#

subscription OnBlockedChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnOperationalStateChanged#

subscription OnOperationalStateChanged(auto callback, failure_callback on_failure)

Parameters#

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