OcaTaskManager#
This document describes the controller implementation of OcaTaskManager. This class is documented in the AES70 standard as:
This class is deprecated in version 2 (OCA 1.5).
Optional manager that collects OcaTask and OcaProgram objects. May be instantiated once in any device., If instantiated, object number must be 11.
Tasks shall be device execution threads that start, execute, and (normally) stop. The action of an OcaTask is defined by an OcaProgram. The idea is that OcaTasks shall execute OcaPrograms.
OcaTaskManager offers global control over tasks in the device.
Device task processing state is Enabled by default. In Enabled state, tasks may be running., Device task processing state may be Disabled by the OcaTaskManager Disable command., The Disable command will succeed only if no tasks are running.
Tasks may be stopped by: passing the OcaTaskManager a Stop or Abort command, which will stop designated tasks in the device;.
Overview#
- ClassID: 1.3.11
- Header:
aes70/controller/OcaTaskManager.hpp
- Namespace:
aes70::controller
- Inheritance: aes70::controller::OcaManager, aes70::controller::OcaRoot, aes70::controller::object
Class Declaration#
namespace aes70::controller
{
class OcaTaskManager : public OcaManager
{
public:
OcaTaskManager(std::shared_ptr<connection> connection,
uin32_t object_number);
OcaTaskManager(const OcaTaskManager &o);
// Control Methods
// Calls Enable and calls on_result or on_failure
void Enable(OcaBoolean Enable, auto on_result, failure_callback on_failure);
// Calls Enable and does not wait for the response
void Enable(OcaBoolean Enable);
// Calls ControlAllTasks and calls on_result or on_failure
void ControlAllTasks(OcaTaskCommand Command, OcaBlob ApplicationTaskParameter, auto on_result, failure_callback on_failure);
// Calls ControlAllTasks and does not wait for the response
void ControlAllTasks(OcaTaskCommand Command, OcaBlob ApplicationTaskParameter);
// Calls ControlTaskGroup and calls on_result or on_failure
void ControlTaskGroup(OcaID16 GroupID, OcaTaskCommand Command, OcaBlob ApplicationTaskParameter, auto on_result, failure_callback on_failure);
// Calls ControlTaskGroup and does not wait for the response
void ControlTaskGroup(OcaID16 GroupID, OcaTaskCommand Command, OcaBlob ApplicationTaskParameter);
// Calls ControlTask and calls on_result or on_failure
void ControlTask(OcaTaskID TaskID, OcaTaskCommand Command, OcaBlob ApplicationTaskParameter, auto on_result, failure_callback on_failure);
// Calls ControlTask and does not wait for the response
void ControlTask(OcaTaskID TaskID, OcaTaskCommand Command, OcaBlob ApplicationTaskParameter);
// Calls GetState and calls on_result or on_failure
void GetState(auto on_result, failure_callback on_failure);
// Calls GetTaskStatuses and calls on_result or on_failure
void GetTaskStatuses(auto on_result, failure_callback on_failure);
// Calls GetTaskStatus and calls on_result or on_failure
void GetTaskStatus(OcaTaskID TaskID, auto on_result, failure_callback on_failure);
// Calls GetTaskStatus and does not wait for the response
void GetTaskStatus(OcaTaskID TaskID);
// Calls AddTask and calls on_result or on_failure
void AddTask(auto on_result, failure_callback on_failure);
// Calls GetTasks and calls on_result or on_failure
void GetTasks(auto on_result, failure_callback on_failure);
// Calls GetTask and calls on_result or on_failure
void GetTask(OcaTaskID ID, auto on_result, failure_callback on_failure);
// Calls GetTask and does not wait for the response
void GetTask(OcaTaskID ID);
// Calls SetTask and calls on_result or on_failure
void SetTask(OcaTaskID ID, OcaTask Task, auto on_result, failure_callback on_failure);
// Calls SetTask and does not wait for the response
void SetTask(OcaTaskID ID, OcaTask Task);
// Calls DeleteTask and calls on_result or on_failure
void DeleteTask(OcaTaskID ID, auto on_result, failure_callback on_failure);
// Calls DeleteTask and does not wait for the response
void DeleteTask(OcaTaskID ID);
// Observing Properties
subscription observeState(auto callback, failure_callback on_failure);
subscription observeTasks(auto callback, failure_callback on_failure);
// Property Changed Subscriptions
subscription OnStateChanged(auto callback, failure_callback on_failure);
subscription OnTasksChanged(auto callback, failure_callback on_failure);
};
}
Methods#
Enable#
void Enable(OcaBoolean Enable, auto on_result, failure_callback on_failure)
Calls the method Enable in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaBoolean Enable
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
ControlAllTasks#
void ControlAllTasks(OcaTaskCommand Command, OcaBlob ApplicationTaskParameter, auto on_result, failure_callback on_failure)
Calls the method ControlAllTasks in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTaskCommand Command
OcaBlob ApplicationTaskParameter
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
ControlTaskGroup#
void ControlTaskGroup(OcaID16 GroupID, OcaTaskCommand Command, OcaBlob ApplicationTaskParameter, auto on_result, failure_callback on_failure)
Calls the method ControlTaskGroup in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaID16 GroupID
OcaTaskCommand Command
OcaBlob ApplicationTaskParameter
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
ControlTask#
void ControlTask(OcaTaskID TaskID, OcaTaskCommand Command, OcaBlob ApplicationTaskParameter, auto on_result, failure_callback on_failure)
Calls the method ControlTask in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTaskID TaskID
OcaTaskCommand Command
OcaBlob ApplicationTaskParameter
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:OcaTaskManagerState State
failure_callback on_failure
: A callback which is called on error.
GetTaskStatuses#
void GetTaskStatuses(auto on_result, failure_callback on_failure)
Calls the method GetTaskStatuses in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaTaskStatus Statuses
failure_callback on_failure
: A callback which is called on error.
GetTaskStatus#
void GetTaskStatus(OcaTaskID TaskID, auto on_result, failure_callback on_failure)
Calls the method GetTaskStatus in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTaskID TaskID
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaTaskStatus Status
failure_callback on_failure
: A callback which is called on error.
AddTask#
void AddTask(auto on_result, failure_callback on_failure)
Calls the method AddTask 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.
GetTasks#
void GetTasks(auto on_result, failure_callback on_failure)
Calls the method GetTasks in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaMap<OcaTaskID, OcaTask> Tasks
failure_callback on_failure
: A callback which is called on error.
GetTask#
void GetTask(OcaTaskID ID, auto on_result, failure_callback on_failure)
Calls the method GetTask in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTaskID ID
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaTask Task
failure_callback on_failure
: A callback which is called on error.
SetTask#
void SetTask(OcaTaskID ID, OcaTask Task, auto on_result, failure_callback on_failure)
Calls the method SetTask in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTaskID ID
OcaTask Task
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
DeleteTask#
void DeleteTask(OcaTaskID ID, auto on_result, failure_callback on_failure)
Calls the method DeleteTask in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTaskID ID
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:OcaTaskManagerState State
failure_callback on_failure
: A callback which is called on error.
observeTasks#
subscription observeTasks(auto callback, failure_callback on_failure)
Fetches the remote property Tasks and subscribes for modifications. The callback is called with the initial values of Tasks and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaMap<OcaTaskID, OcaTask> Tasks
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:OcaTaskManagerState State
failure_callback on_failure
: A callback which is called on error.
OnTasksChanged#
subscription OnTasksChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaMap<OcaTaskID, OcaTask> Tasks
failure_callback on_failure
: A callback which is called on error.