OcaMediaTransportNetwork#
This document describes the device side implementation of OcaMediaTransportNetwork. This class is documented in the AES70 standard as:
Overview#
- ClassID: 1.4.2
- Header:
aes70/device/OcaMediaTransportNetwork.hpp
- Namespace:
aes70::device
- Inheritance: aes70::device::OcaApplicationNetwork, aes70::device::OcaRoot, aes70::device::object
Class Declaration#
The device side implementation has the following signature.
namespace aes70::device
{
template <class Implementation>
class OcaMediaTransportNetwork : public OcaApplicationNetwork<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 MyOcaMediaTransportNetworkImplementation
{
// Methods defined by OcaMediaTransportNetwork
OcaNetworkMediaProtocol GetMediaProtocol();
OcaList<OcaPort> GetPorts();
OcaString GetPortName(OcaPortID PortID);
void SetPortName(OcaPortID PortID, OcaString Name);
OcaUint16 GetMaxSourceConnectors();
OcaUint16 GetMaxSinkConnectors();
OcaUint16 GetMaxPinsPerConnector();
OcaUint16 GetMaxPortsPerPin();
OcaList<OcaMediaSourceConnector> GetSourceConnectors();
OcaMediaSourceConnector GetSourceConnector(OcaMediaConnectorID ID);
OcaList<OcaMediaSinkConnector> GetSinkConnectors();
OcaMediaSinkConnector GetSinkConnector(OcaMediaConnectorID ID);
OcaList<OcaMediaConnectorStatus> GetConnectorsStatuses();
OcaMediaConnectorStatus GetConnectorStatus(OcaMediaConnectorID ConnectorID);
void AddSourceConnector(OcaMediaSourceConnector Connector, OcaMediaConnectorState InitialStatus);
void AddSinkConnector(OcaMediaConnectorStatus InitialStatus);
void ControlConnector(OcaMediaConnectorID ConnectorID, OcaMediaConnectorCommand Command);
void SetSourceConnectorPinMap(OcaMediaConnectorID ConnectorID, OcaMap<OcaUint16, OcaPortID> ChannelPinMap);
void SetSinkConnectorPinMap(OcaMediaConnectorID ConnectorID, OcaMultiMap<OcaUint16, OcaPortID> ChannelPinMap);
void SetConnectorConnection(OcaMediaConnectorID ConnectorID, OcaMediaConnection Connection);
void SetConnectorCoding(OcaMediaConnectorID ConnectorID, OcaMediaCoding Coding);
void SetConnectorAlignmentLevel(OcaMediaConnectorID ConnectorID, OcaDBFS Level);
void SetConnectorAlignmentGain(OcaMediaConnectorID ConnectorID, OcaDB Gain);
void DeleteConnector(OcaMediaConnectorID ID);
std::tuple<OcaDBFS,OcaDBFS,OcaDBFS> GetAlignmentLevel();
std::tuple<OcaDB,OcaDB,OcaDB> GetAlignmentGain();
// Methods defined by OcaApplicationNetwork
OcaString GetLabel();
void SetLabel(OcaString Label);
OcaONo GetOwner();
OcaApplicationNetworkServiceID GetServiceID();
void SetServiceID(OcaApplicationNetworkServiceID Name);
OcaList<OcaNetworkSystemInterfaceDescriptor> GetSystemInterfaces();
void SetSystemInterfaces(OcaList<OcaNetworkSystemInterfaceDescriptor> Descriptors);
OcaApplicationNetworkState GetState();
OcaUint16 GetErrorCode();
void Control(OcaApplicationNetworkCommand Command);
std::tuple<OcaRolePath,OcaONoPath> GetPath();
// Methods defined by OcaRoot
OcaBoolean GetLockable();
void SetLockNoReadWrite();
void Unlock();
OcaString GetRole();
void SetLockNoWrite();
OcaLockState GetLockState();
};