OcaGrouper#
This document describes the device side implementation of OcaGrouper. This class is documented in the AES70 standard as:
Control aggregator. See [AES70-1(Control Aggregation)] for the normative specification of OcaGrouper semantics. Deprecated in AES70-2024.
Overview#
- ClassID: 1.2.2
- Header:
aes70/device/OcaGrouper.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 OcaGrouper : 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 MyOcaGrouperImplementation
{
// Methods defined by OcaGrouper
std::tuple<OcaUint16,OcaONo> AddGroup(OcaString Name);
void DeleteGroup(OcaUint16 Index);
OcaUint16 GetGroupCount();
OcaList<OcaGrouperGroup> GetGroupList();
OcaUint16 AddCitizen(OcaGrouperCitizen Citizen);
void DeleteCitizen(OcaUint16 Index);
OcaUint16 GetCitizenCount();
OcaList<OcaGrouperCitizen> GetCitizenList();
OcaBoolean GetEnrollment(OcaGrouperEnrollment Enrollment);
void SetEnrollment(OcaGrouperEnrollment Enrollment, OcaBoolean IsMember);
OcaList<OcaGrouperCitizen> GetGroupMemberList(OcaUint16 Index);
OcaBoolean GetActuatorOrSensor();
void SetActuatorOrSensor(OcaBoolean ActuatorOrSensor);
OcaGrouperMode GetMode();
void SetMode(OcaGrouperMode Mode);
// 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();
};