Skip to content

OcaTaskScheduler#

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

Optional scheduler for scheduling tasks to run programs and commandsets in the future.


Overview#

Class Declaration#

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

    // Control Methods
    // 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 ActionPause and calls on_result or on_failure
    void ActionPause(auto on_result, failure_callback on_failure);
    // Calls ActionDrain and calls on_result or on_failure
    void ActionDrain(auto on_result, failure_callback on_failure);
    // Calls GetState and calls on_result or on_failure
    void GetState(auto on_result, failure_callback on_failure);
    // Calls GetTaskAgents and calls on_result or on_failure
    void GetTaskAgents(auto on_result, failure_callback on_failure);
    // Calls GetJobQueue and calls on_result or on_failure
    void GetJobQueue(auto on_result, failure_callback on_failure);
    // Calls GetJob and calls on_result or on_failure
    void GetJob(OcaID32 ID, auto on_result, failure_callback on_failure);
    // Calls GetJob and does not wait for the response
    void GetJob(OcaID32 ID);
    // Calls SetJob and calls on_result or on_failure
    void SetJob(OcaID32 ID, OcaJobQueueItem Item, auto on_result, failure_callback on_failure);
    // Calls SetJob and does not wait for the response
    void SetJob(OcaID32 ID, OcaJobQueueItem Item);
    // Calls AddJob and calls on_result or on_failure
    void AddJob(OcaJobQueueItem Item, auto on_result, failure_callback on_failure);
    // Calls AddJob and does not wait for the response
    void AddJob(OcaJobQueueItem Item);
    // Calls DeleteJob and calls on_result or on_failure
    void DeleteJob(OcaID32 ID, auto on_result, failure_callback on_failure);
    // Calls DeleteJob and does not wait for the response
    void DeleteJob(OcaID32 ID);
    // Calls ClearJobQueue and calls on_result or on_failure
    void ClearJobQueue(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeState(auto callback, failure_callback on_failure);
    subscription observeTaskAgents(auto callback, failure_callback on_failure);
    subscription observeJobQueue(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnStateChanged(auto callback, failure_callback on_failure);
    subscription OnTaskAgentsChanged(auto callback, failure_callback on_failure);
    subscription OnJobQueueChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

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.

ActionPause#

void ActionPause(auto on_result, failure_callback on_failure)

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

ActionDrain#

void ActionDrain(auto on_result, failure_callback on_failure)

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

GetState#

void GetState(auto on_result, failure_callback on_failure)

Calls the method GetState in the remote device.

Parameters:#

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

GetTaskAgents#

void GetTaskAgents(auto on_result, failure_callback on_failure)

Calls the method GetTaskAgents in the remote device.

Parameters:#

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

GetJobQueue#

void GetJobQueue(auto on_result, failure_callback on_failure)

Calls the method GetJobQueue in the remote device.

Parameters:#

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

GetJob#

void GetJob(OcaID32 ID, auto on_result, failure_callback on_failure)

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

Parameters:#

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

SetJob#

void SetJob(OcaID32 ID, OcaJobQueueItem Item, auto on_result, failure_callback on_failure)

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

Parameters:#

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

AddJob#

void AddJob(OcaJobQueueItem Item, auto on_result, failure_callback on_failure)

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

Parameters:#

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

DeleteJob#

void DeleteJob(OcaID32 ID, auto on_result, failure_callback on_failure)

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

Parameters:#

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

ClearJobQueue#

void ClearJobQueue(auto on_result, failure_callback on_failure)

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

observeState#

subscription observeState(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeTaskAgents#

subscription observeTaskAgents(auto callback, failure_callback on_failure)

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

Parameters:#

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

observeJobQueue#

subscription observeJobQueue(auto callback, failure_callback on_failure)

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

Parameters:#

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

OnStateChanged#

subscription OnStateChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnTaskAgentsChanged#

subscription OnTaskAgentsChanged(auto callback, failure_callback on_failure)

Parameters#

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

OnJobQueueChanged#

subscription OnJobQueueChanged(auto callback, failure_callback on_failure)

Parameters#

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