OcaTaskAgent#
This document describes the device side 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#
- ClassID: 1.2.12
- Header:
aes70/device/OcaTaskAgent.hpp
- Namespace:
aes70::device
- Inheritance: aes70::device::OcaAgent, aes70::device::OcaRoot, aes70::device::object
Class Declaration#
The device side implementation has the following signature.
namespace aes70::device
{
template <class Implementation>
class OcaTaskAgent : public OcaAgent<Implementation>
{
};
}
The template argument Implementation
may implement the following methods.
Note
The signatures given here are just one possibility and that most methods are optional. Implement only those methods which make sense in the context of your device. See the documentation in Implementing AES70 Classes for more details.
class MyOcaTaskAgentImplementation
{
// Methods defined by OcaTaskAgent
void ActionPrepare(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode);
void ActionRun(OcaONo Program, OcaBlob ExecutionParameters, OcaProgramRunMode RunMode);
void ActionStart();
void ActionStop();
void ActionReset();
void ActionClear();
OcaBoolean GetBlocked();
void SetBlocked(OcaBoolean Blocked);
OcaTaskOperationalState GetOperationalState();
OcaONo GetExecutableONo();
OcaBlob GetExecutionParameters();
OcaProgramRunMode GetRunMode();
// Methods defined by OcaAgent
OcaString GetLabel();
void SetLabel(OcaString Label);
OcaONo GetOwner();
std::tuple<OcaRolePath,OcaONoPath> GetPath();
// Methods defined by OcaRoot
OcaBoolean GetLockable();
void SetLockNoReadWrite();
void Unlock();
OcaString GetRole();
void SetLockNoWrite();
OcaLockState GetLockState();
};