template<class Class>
OcaStreamConnector class
Template parameters | |
---|---|
Class | - Class to wrap. |
Contents
This class template detects the methods and events defined for the class OcaStreamConnector in the AES70 specification and exposes them through AES70. Note that all AES70 methods and event handlers need to be public in order to be detected.
Detects the following symbols with the corresponding detector classes:
ConnectStream : aes70::
device:: Method Arguments:
- Stream : OcaStream
Return values:
- Index : OcaUint16
DisconnectStream : aes70::
device:: Method Arguments:
- StreamID : OcaUint16
GetIDAdvertised : aes70::
device:: Getter Return values:
- IDAdvertised : OcaBlob
GetOwnerNetwork : aes70::
device:: Getter Return values:
- Network : OcaUint32
GetPins : aes70::
device:: Getter Return values:
- Pins : OcaMap<OcaUint16, OcaUint32>
GetSourceOrSink : aes70::
device:: Getter Return values:
- SourceOrSink : OcaNetworkMediaSourceOrSink
GetStatus : aes70::
device:: Getter Return values:
- Status : OcaStreamConnectorStatus
GetStreams : aes70::
device:: Getter Return values:
- Streams : OcaMap<OcaUint16, OcaStream>
SetIDAdvertised : aes70::
device:: Setter Arguments:
- IDAdvertised : OcaBlob
SetOwnerNetwork : aes70::
device:: Setter Arguments:
- Network : OcaUint32
SetSourceOrSink : aes70::
device:: Setter Arguments:
- SourceOrSink : OcaNetworkMediaSourceOrSink
Detects the following event handlers for property changes (of type aes70::
- OnIDAdvertisedChanged with property encoder OCP1::
OcaBlob - OnOwnerNetworkChanged with property encoder OCP1::
OcaUint32 - OnPinsChanged with property encoder OCP1::OcaMap<OCP1::OcaUint16, OCP1::OcaUint32>
- OnSourceOrSinkChanged with property encoder OCP1::
OcaUint8 - OnStatusChanged with property encoder OCP1::
OcaUint8 - OnStreamsChanged with property encoder OCP1::
OcaMap<OCP1:: OcaUint16, OCP1:: Struct<OCP1:: OcaUint16, OCP1:: OcaBlob, OCP1:: OcaUint16, OCP1:: OcaString, OCP1:: OcaUint32, OCP1:: OcaUint16, OCP1::Struct<OCP1::OcaBlob, OCP1::OcaBlob, OCP1::OcaBlob, OCP1::OcaBlob>, OCP1:: OcaBoolean, OCP1:: OcaUint8, OCP1:: OcaBlob, OCP1:: OcaUint8>>
From the AES70 standard:
DEPRECATED CLASS Replaced by the OcaMediaSinkConnector and OcaMediaSourceConnector datatypes in version 3 of Connection Management (CM3) Agent class for objects ("connectors") that allow connection of streams to the device. Streams may be single channels or multichannel groups. A connector is either a source or a sink. Sources are sometimes called "talkers". Sinks are sometimes called "listeners". Each connector links to zero or more OcaStream data objects. Each OcaStream object represents a signal flow to or from a local connector to a remote connector. The remote connector is usually, but not necessarily, in a different node. Each connector collects zero or more signal channels . A signal channel is an instance of OcaNetworkSignalChannel. Each signal channel exposes one media channel of the stream to the interior of the device. A signal channel therefore is a Worker that contains exactly one OcaPort data object. Each OcaStreamConnector object belongs to a particular instance of OcaStreamNetwork or a subclass of OcaStreamNetwork . Each OcaStreamConnector is linked to its network through the Owner property.
- When a controller creates an OcaStreamConnector object dynamically, the controller must store the Object Number of the corresponding OcaStreamNetwork object in the Owner property.
- Upon receiving the Owner property change, the OcaStreamConnector object must register itself with the given stream network object via some internal means. This class may be subclassed to support various network types.
Base classes
-
template<class Class>class OcaAgent
Public static variables
- static const OcaClassVersionNumber ClassVersion
-
static const classid_
tpl<3> ClassId - static const size_t count_events
Public static functions
- static auto get_event_index(OcaEventID id, size_t index) -> AES70_ALWAYS_INLINE ptrdiff_t
Constructors, destructors, conversion operators
-
template<typename ... TN>OcaStreamConnector(TN && ... args)
Public functions
- auto get_class_version() const -> uint16_t virtual
- auto get_classid() const -> const classid& virtual
-
void init(aes70::
device:: device* d, uint32_t n) virtual -
auto call(const OcaMethodID id,
const uint8_t* src,
const uint8_t* src_end,
uint8_t parameterCount,
const aes70::
response_generator& response) -> bool virtual - auto get_event_index(const OcaEventID OcaEventID) const -> ptrdiff_t virtual
Function documentation
template<classClass>
static AES70_ALWAYS_INLINE ptrdiff_t aes70:: device:: OcaStreamConnector<Class>:: get_event_index(OcaEventID id,
size_t index)
Internal class for finding the event index of a given EventID. Returns -1 if the given event is not defined.
template<classClass>
template<typename ... TN>
aes70:: device:: OcaStreamConnector<Class>:: OcaStreamConnector(TN && ... args)
Constructor which calls the constructor of Class with args forwarded.
template<classClass>
uint16_t aes70:: device:: OcaStreamConnector<Class>:: get_class_version() const virtual
Returns the AES70 class version of this object.
template<classClass>
const classid& aes70:: device:: OcaStreamConnector<Class>:: get_classid() const virtual
Returns the AES70 class id of this object.
template<classClass>
void aes70:: device:: OcaStreamConnector<Class>:: init(aes70:: device:: device* d,
uint32_t n) virtual
Called when this object is added to a device.
template<classClass>
bool aes70:: device:: OcaStreamConnector<Class>:: call(const OcaMethodID id,
const uint8_t* src,
const uint8_t* src_end,
uint8_t parameterCount,
const aes70:: response_generator& response) virtual
Internal method used to call AES70 methods in this object.
template<classClass>
ptrdiff_t aes70:: device:: OcaStreamConnector<Class>:: get_event_index(const OcaEventID OcaEventID) const virtual
Returns the index of a given event. The idea is that all events defined on a aes70 class can be enumerated. For events which this object does not implement, the value -1 is returned.
Variable documentation
template<classClass>
static const OcaClassVersionNumber aes70:: device:: OcaStreamConnector<Class>:: ClassVersion
The ClassVersion of this class according to the AES70 standard.
template<classClass>
static const classid_ tpl<3> aes70:: device:: OcaStreamConnector<Class>:: ClassId
The ClassID of this class according to the AES70 standard.
template<classClass>
static const size_t aes70:: device:: OcaStreamConnector<Class>:: count_events
Number of events defined in this class. This depends on which events are implemented by Class.