OcaLockManager#
This document describes the device side implementation of OcaLockManager. This class is documented in the AES70 standard as:
Optional object and device lock manager that supports mutex-type waits for locking things without causing race conditions. May be instantiated at most once in any device., If instantiated, object number must be 14 (decimal).
Overview#
- ClassID: 1.3.14
- Header:
aes70/device/OcaLockManager.hpp
- Namespace:
aes70::device
- Inheritance: aes70::device::OcaManager, aes70::device::OcaRoot, aes70::device::object
Class Declaration#
The device side implementation has the following signature.
namespace aes70::device
{
template <class Implementation>
class OcaLockManager : public OcaManager<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 MyOcaLockManagerImplementation
{
// Methods defined by OcaLockManager
void LockWait(OcaONo target, OcaLockState type, OcaTimeInterval timeout);
void AbortWaits(OcaONo ONo);
// Methods defined by OcaRoot
OcaBoolean GetLockable();
void SetLockNoReadWrite();
void Unlock();
OcaString GetRole();
void SetLockNoWrite();
OcaLockState GetLockState();
};