ADTF  3.18.2
cSubStreamTypes

Helper class to create a stream type with multiple Substreams. More...

Inheritance diagram for cSubStreamTypes:
[legend]

Public Member Functions

template<typename MetaType = stream_meta_type_substreams, typename = std::enable_if_t<is_stream_meta_type<MetaType>::value, MetaType>>
 cSubStreamTypes (const MetaType &=MetaType())
 Constructor. More...
 
 cSubStreamTypes (const ucom::ant::iobject_ptr< const ant::IStreamMetaType > &pMetaType)
 Constructor. More...
 
virtual ~cSubStreamTypes ()
 Destructor.
 
void SetSubStream (const char *strName, uint32_t nSubStreamId, const ucom::ant::iobject_ptr< const ant::IStreamType > &pType)
 Adds or updates a Substream. More...
 
void SetSubStream (std::string_view strName, uint32_t nSubStreamId, const ucom::ant::iobject_ptr< const ant::IStreamType > &pType)
 Adds or updates a Substream. More...
 
void SetRequestProperties (const base::ant::IProperties &oProperties, const char *strSubStreamName="")
 Sets the common or Substream specific request properties. More...
 
ucom::ant::object_ptr< const streaming::ant::IStreamTypeGetSubStreamType (const char *strName) const
 Retrieve the Stream Type of a given Substream. More...
 
ucom::ant::object_ptr< ant::IStreamTypeGetStreamType () const
 Get a Stream Type that contains all currently set Substreams. More...
 

Protected Attributes

std::unique_ptr< cImplementation > m_pImplementation
 

Detailed Description

Helper class to create a stream type with multiple Substreams.

Definition at line 136 of file streammetatypesubstreams.h.

Constructor & Destructor Documentation

◆ cSubStreamTypes() [1/2]

cSubStreamTypes ( const MetaType &  = MetaType())
inline

Constructor.

Parameters
[in]oMetaTypeThe meta type that should be used.
Template Parameters
TheStream Meta Type

Definition at line 145 of file streammetatypesubstreams.h.

◆ cSubStreamTypes() [2/2]

Constructor.

Parameters
[in]pMetaTypeThe meta type that should be used.

Member Function Documentation

◆ GetStreamType()

ucom::ant::object_ptr<ant::IStreamType> GetStreamType ( ) const

Get a Stream Type that contains all currently set Substreams.

This is recreated each time this method is called.

Returns
A pointer to a Stream Type.

◆ GetSubStreamType()

ucom::ant::object_ptr<const streaming::ant::IStreamType> GetSubStreamType ( const char *  strName) const

Retrieve the Stream Type of a given Substream.

Parameters
[in]strNameThe The name of the Substream.
Returns
The stream type.

◆ SetRequestProperties()

void SetRequestProperties ( const base::ant::IProperties oProperties,
const char *  strSubStreamName = "" 
)

Sets the common or Substream specific request properties.

Parameters
[in]oPropertiesThe properties to set.
[in]strSubStreamNameThe name of the Substream. If empty, then the common request properties will be set.

◆ SetSubStream() [1/2]

void SetSubStream ( const char *  strName,
uint32_t  nSubStreamId,
const ucom::ant::iobject_ptr< const ant::IStreamType > &  pType 
)

Adds or updates a Substream.

Parameters
[in]strNameThe name of the Substream, required to be unique, this is the key to the map of substreams.
[in]nSubStreamIdThe id of the Substream, should be unique, but can be reused for aliases etc.
[in]pTypeThe type of the Substream.

◆ SetSubStream() [2/2]

void SetSubStream ( std::string_view  strName,
uint32_t  nSubStreamId,
const ucom::ant::iobject_ptr< const ant::IStreamType > &  pType 
)

Adds or updates a Substream.

Parameters
[in]strNameThe name of the Substream, required to be unique, this is the key to the map of substreams.
[in]nSubStreamIdThe id of the Substream, should be unique, but can be reused for aliases etc.
[in]pTypeThe type of the Substream.