TSDuck v3.46-4930
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
tstlvMessage.h File Reference

Classes

class  ts::tlv::Message

Namespaces

namespace  ts
 TSDuck namespace, containing all TSDuck classes and functions.
namespace  ts::tlv

Macros

#define TS_UNVERSIONED_TLV_MESSAGE(classname)
#define TS_VERSIONED_TLV_MESSAGE(classname, tag)

Typedefs

using ts::tlv::MessagePtr = std::shared_ptr<Message>

Detailed Description

Abstract base class for TLV messages

Macro Definition Documentation

◆ TS_UNVERSIONED_TLV_MESSAGE

#define TS_UNVERSIONED_TLV_MESSAGE ( classname)
Value:
public: \ \
classname(); \ \ \
classname(const ts::tlv::MessageFactory& fact); \
/* Implementation of Message. */ \
virtual ts::UString dump(size_t indent = 0) const override; \
protected: \
/* Implementation of Message. */ \
virtual void serializeParameters(ts::tlv::Serializer&) const override
Definition tsUString.h:153
Definition tstlvMessageFactory.h:66
Definition tstlvSerializer.h:27

A macro to add in the declaration of a ts::tlv::Message subclass without version.

Parameters
classnameName of the enclosing class.

◆ TS_VERSIONED_TLV_MESSAGE

#define TS_VERSIONED_TLV_MESSAGE ( classname,
tag )
Value:
private: \
classname() = delete; \
public: \ \ \
classname(ts::tlv::VERSION version) : \
superclass(version, tag) {} \ \ \
classname(const ts::tlv::Protocol& proto) : \
classname(proto.version()) {} \ \ \
classname(const ts::tlv::MessageFactory& fact); \
/* Implementation of Message. */ \
virtual ts::UString dump(size_t indent = 0) const override; \
protected: \
/* Implementation of Message. */ \
virtual void serializeParameters(ts::tlv::Serializer&) const override
Definition tstlvProtocol.h:27
uint8_t VERSION
Type for TLV protocol version (8 bits).
Definition tstlv.h:32

A macro to add in the declaration of a ts::tlv::Message subclass with version.

Parameters
classnameName of the enclosing class.
tagMessage tag.