OcaLog#
This document describes the device side implementation of OcaLog. This class is documented in the AES70 standard as:
A log object. Child of OcaDataSet.
Overview#
- ClassID: 1.5.1
- Header:
aes70/device/OcaLog.hpp
- Namespace:
aes70::device
- Inheritance: aes70::device::OcaDataset, aes70::device::OcaRoot, aes70::device::object
Class Declaration#
The device side implementation has the following signature.
namespace aes70::device
{
template <class Implementation>
class OcaLog : public OcaDataset<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 MyOcaLogImplementation
{
// Methods defined by OcaLog
void AddLogRecord(OcaLogRecord Entry);
OcaLogSeverityLevel GetSeverityThreshold();
void SetSeverityThreshold(OcaLogSeverityLevel Severity);
OcaIOSessionHandle OpenRetrievalSession(OcaLockState LockType, OcaLogFilter Filter);
void CloseRetrievalSession(OcaIOSessionHandle Handle);
std::tuple<OcaBoolean,OcaUint64,OcaList<OcaLogRecord>> RetrieveRecords(OcaIOSessionHandle Handle, OcaUint64 RecStartNo, OcaUint16 RecCount, OcaUint64 MaxDataLength);
OcaBoolean GetEnabled();
void SetEnabled(OcaBoolean Enabled);
// Methods defined by OcaDataset
std::tuple<OcaUint64,OcaIOSessionHandle> OpenRead(OcaLockState RequestedLockState);
std::tuple<OcaUint64,OcaIOSessionHandle> OpenWrite(OcaLockState RequestedLockState);
void Close(OcaIOSessionHandle Handle);
std::tuple<OcaBoolean,OcaLongBlob> Read(OcaIOSessionHandle Handle, OcaUint64 Position, OcaUint64 PartSize);
void Write(OcaIOSessionHandle Handle, OcaUint64 Position, OcaLongBlob Part);
void Clear(OcaIOSessionHandle Handle);
OcaONo GetOwner();
OcaString GetName();
void SetName(OcaString Name);
OcaString GetType();
void SetType(OcaString Type);
OcaBoolean GetReadOnly();
void SetReadOnly(OcaBoolean ReadOnly);
OcaTime GetLastModificationTime();
std::tuple<OcaUint64,OcaUint64> GetDatasetSizes();
// Methods defined by OcaRoot
OcaBoolean GetLockable();
void SetLockNoReadWrite();
void Unlock();
OcaString GetRole();
void SetLockNoWrite();
OcaLockState GetLockState();
};