TSDuck v3.44-4659
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::BIOPBinding Struct Reference

A single BIOP Binding inside a Directory / ServiceGateway body. More...

#include <tsDSMCCBIOPMessage.h>

Collaboration diagram for ts::BIOPBinding:

Public Member Functions

bool deserialize (PSIBuffer &buf)
 Deserialize one Binding from a buffer.
 
bool fromXML (DuckContext &duck, const xml::Element *element)
 This method decodes an XML BIOPBinding.
 
UString pathString () const
 Get the binding's path joined from its NameComponent ids.
 
std::optional< std::pair< uint16_t, ByteBlock > > targetLocation () const
 Get the (module_id, object_key) the binding's IOR points to, if it carries a BIOP Profile Body containing a BIOP::ObjectLocation.
 
void toXML (DuckContext &duck, xml::Element *parent) const
 This method converts a BIOPBinding to XML.
 

Public Attributes

uint8_t binding_type = 0
 0x01 = nobject, 0x02 = ncontext.
 
DSMCCIOR ior {}
 Object reference to the target.
 
std::vector< BIOPNameComponentname {}
 Path components (almost always a single entry).
 
ByteBlock object_info {}
 Kind-specific info (e.g. content_size for files).
 

Static Public Attributes

static constexpr uint8_t BINDING_TYPE_NCONTEXT = 0x02
 ncontext (directory).
 
static constexpr uint8_t BINDING_TYPE_NOBJECT = 0x01
 nobject (leaf: file / stream).
 

Detailed Description

A single BIOP Binding inside a Directory / ServiceGateway body.

See also
ISO/IEC 13818-6 section 8.6.3

Member Function Documentation

◆ deserialize()

bool ts::BIOPBinding::deserialize ( PSIBuffer buf)

Deserialize one Binding from a buffer.

Parameters
[in,out]bufDeserialization buffer.
Returns
True on success.

◆ targetLocation()

std::optional< std::pair< uint16_t, ByteBlock > > ts::BIOPBinding::targetLocation ( ) const

Get the (module_id, object_key) the binding's IOR points to, if it carries a BIOP Profile Body containing a BIOP::ObjectLocation.

Returns
The target location, or std::nullopt if absent.

◆ pathString()

UString ts::BIOPBinding::pathString ( ) const

Get the binding's path joined from its NameComponent ids.

Returns
Joined path (components separated by '/').

◆ toXML()

void ts::BIOPBinding::toXML ( DuckContext duck,
xml::Element parent 
) const

This method converts a BIOPBinding to XML.

Parameters
[in,out]duckTSDuck execution context.
[in,out]parentThe parent node for the XML element.

◆ fromXML()

bool ts::BIOPBinding::fromXML ( DuckContext duck,
const xml::Element element 
)

This method decodes an XML BIOPBinding.

Parameters
[in,out]duckTSDuck execution context.
[in]elementThe XML element containing the binding.
Returns
True on success, false on error.

The documentation for this struct was generated from the following file: