TSDuck v3.40-3963
MPEG Transport Stream Toolkit
|
EMMG/PDG <=> MUX data_provision command. More...
#include <tsEMMGMUX.h>
Public Member Functions | |
DataProvision (const ts::tlv::MessageFactory &fact) | |
Constructor from a message factory. | |
DataProvision (const ts::tlv::Protocol &proto) | |
Constructor with version from protocol. | |
DataProvision (ts::tlv::VERSION version) | |
Constructor with version. | |
virtual ts::UString | dump (size_t indent=0) const override |
Dump routine. | |
void | forceProtocolVersion (VERSION version) |
Force the protocol version number to another value. | |
bool | hasProtocolVersion () const |
Check if the message has a protocol version number. | |
VERSION | protocolVersion () const |
Get the protocol version number. | |
void | serialize (Serializer &zer) const |
Serialize the message using a Serializer. | |
TAG | tag () const |
Get the message tag. | |
Public Attributes | |
uint16_t | channel_id = 0 |
Channel id. | |
uint32_t | client_id = 0 |
Client id. | |
uint16_t | data_id = 0 |
Data id (DataTypes). | |
std::vector< ByteBlockPtr > | datagram {} |
EMM or private data to send. | |
uint16_t | stream_id = 0 |
Stream id. | |
Protected Types | |
using | superclass = StreamMessage |
Alias for the superclass of subclasses. | |
Protected Member Functions | |
virtual void | serializeParameters (ts::tlv::Serializer &) const override |
Parameter serialization. | |
Static Protected Member Functions | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpDecimal (size_t indent, const UString &name, const INT &value) |
Dump an integer value in decimal (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpHexa (size_t indent, const UString &name, const INT &value) |
Dump an integer value in hexadecimal (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpInteger (size_t indent, const UString &name, const INT &value) |
Dump an integer value (helper routine for subclasses). | |
static UString | dumpOptional (size_t indent, const UString &name, bool has_value, const ByteBlock &value, uint32_t flags=UString::HEXA|UString::ASCII) |
Dump an optional byte block (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpOptionalDecimal (size_t indent, const UString &name, bool has_value, const INT &value) |
Dump an optional integer value in decimal (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpOptionalDecimal (size_t indent, const UString &name, const std::optional< INT > &value) |
Dump an optional integer value in decimal (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpOptionalHexa (size_t indent, const UString &name, bool has_value, const INT &value) |
Dump an optional integer value in hexadecimal (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpOptionalHexa (size_t indent, const UString &name, const std::optional< INT > &value) |
Dump an optional integer value in hexadecimal (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpOptionalInteger (size_t indent, const UString &name, bool has_value, const INT &value) |
Dump an optional integer value (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpOptionalInteger (size_t indent, const UString &name, const std::optional< INT > &value) |
Dump an optional integer value (helper routine for subclasses). | |
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr> | |
static UString | dumpVector (size_t indent, const UString &name, const std::vector< INT > &val, UString(*toString)(INT)=nullptr) |
Dump a vector of integer values (helper routine for subclasses). | |
static UString | dumpVector (size_t indent, const UString &name, const UStringVector &value) |
Dump a vector of strings (helper routine for subclasses). | |
EMMG/PDG <=> MUX data_provision command.
|
inline |
Constructor with version.
[in] | version | Protocol version. |
|
inline |
Constructor with version from protocol.
[in] | proto | Protocol definition. |
ts::emmgmux::DataProvision::DataProvision | ( | const ts::tlv::MessageFactory & | fact | ) |
Constructor from a message factory.
[in] | fact | Message factory. |
|
overridevirtual |
Dump routine.
Create a string representing the message content. The implementation in the base class dumps the common fields. Can be used by subclasses.
[in] | indent | Left indentation size. |
Reimplemented from ts::tlv::Message.
|
overrideprotectedvirtual |
Parameter serialization.
This protected pure virtual method must be implemented by subclasses to serialize their parameters.
[in,out] | zer | A TLV serializer. |
Implements ts::tlv::Message.
|
inlineinherited |
Check if the message has a protocol version number.
|
inlineinherited |
Get the protocol version number.
|
inlineinherited |
Force the protocol version number to another value.
Use with care.
[in] | version | The protocol version number. |
|
inlineinherited |
Get the message tag.
|
inherited |
Serialize the message using a Serializer.
[in,out] | zer | A TLV serializer. |
|
staticprotectedinherited |
Dump a vector of strings (helper routine for subclasses).
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | value | Vector of strings. |
|
staticprotectedinherited |
Dump a vector of integer values (helper routine for subclasses).
Signed integer types are dumped in decimal, unsigned types in hexadecimal.
INT | An integer type. |
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | val | Vector of integer values. |
[in] | toString | Optional function to convert an INT value into a string. |
|
staticprotectedinherited |
Dump an optional byte block (helper routine for subclasses).
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | has_value | If false, no value is available, return an empty string. |
[in] | value | Byte block. |
[in] | flags | Hexa dump flags for ts::Hexa(). |
|
inlinestaticprotectedinherited |
Dump an integer value (helper routine for subclasses).
Signed integer types are dumped in decimal, unsigned types in hexadecimal.
INT | An integer type. |
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | value | Integer value. |
|
inlinestaticprotectedinherited |
Dump an optional integer value in decimal (helper routine for subclasses).
INT | An integer type. |
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | has_value | If false, no value is available, return an empty string. |
[in] | value | Integer value. |
|
inlinestaticprotectedinherited |
Dump an optional integer value in hexadecimal (helper routine for subclasses).
INT | An integer type. |
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | has_value | If false, no value is available, return an empty string. |
[in] | value | Integer value. |
|
inlinestaticprotectedinherited |
Dump an optional integer value (helper routine for subclasses).
Signed integer types are dumped in decimal, unsigned types in hexadecimal.
INT | An integer type. |
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | has_value | If false, no value is available, return an empty string. |
[in] | value | Integer value. |
|
inlinestaticprotectedinherited |
Dump an optional integer value (helper routine for subclasses).
Signed integer types are dumped in decimal, unsigned types in hexadecimal.
INT | An integer type. |
[in] | indent | Left indentation size. |
[in] | name | Parameter name. |
[in] | value | Integer value. |