TSDuck v3.46-4930
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::mcast::FluteFile Class Reference

#include <tsmcastFluteFile.h>

Inheritance diagram for ts::mcast::FluteFile:

Public Member Functions

 FluteFile ()=default
 FluteFile (const FluteSessionId &sid, uint64_t toi, const UString &name, const UString &type, const ByteBlockPtr &content)
ByteBlock & content ()
const ByteBlock & content () const
const ByteBlockPtr contentPointer () const
const UString & fullType () const
bool isValid () const
const UString & name () const
const FluteSessionId & sessionId () const
size_t size () const
uint64_t toi () const
UString toText () const
UString toXML () const
const UString & type () const

Protected Member Functions

bool parseXML (xml::Document &xml_doc, const UChar *expected_root=nullptr, bool ignore_namespace=false)

Protected Attributes

bool _valid = true
 The validity field can be updated by subclasses.

Detailed Description

Representation of a file extracted from a FLUTE stream.

Constructor & Destructor Documentation

◆ FluteFile() [1/2]

ts::mcast::FluteFile::FluteFile ( )
default

Default constructor.

◆ FluteFile() [2/2]

ts::mcast::FluteFile::FluteFile ( const FluteSessionId & sid,
uint64_t toi,
const UString & name,
const UString & type,
const ByteBlockPtr & content )

Constructor.

Parameters
[in]sidSession id.
[in]toiTransport Object Identifier.
[in]nameFile name or URN.
[in]typeFile MIME type.
[in]contentFile content.

Member Function Documentation

◆ isValid()

bool ts::mcast::FluteFile::isValid ( ) const
inline

Check if the file is valid (for instance is XML content was successfully parsed).

Returns
True if the file is valid. False otherwise.

◆ sessionId()

const FluteSessionId & ts::mcast::FluteFile::sessionId ( ) const
inline

Get the session id of the file.

Returns
A constant reference to the session in the object.

◆ toi()

uint64_t ts::mcast::FluteFile::toi ( ) const
inline

Get the Transport Object Identifier (TOI) of the file.

Returns
The Transport Object Identifier.

◆ name()

const UString & ts::mcast::FluteFile::name ( ) const
inline

Get the name or URN of the file.

Returns
A constant reference to the name in the object.

◆ type()

const UString & ts::mcast::FluteFile::type ( ) const
inline

Get the base MIME type of the file, excluding qualification such as "charset=utf-8".

Returns
A constant reference to the type string in the object.

◆ fullType()

const UString & ts::mcast::FluteFile::fullType ( ) const
inline

Get the original full MIME type of the file.

Returns
A constant reference to the type string in the object.

◆ size()

size_t ts::mcast::FluteFile::size ( ) const
inline

Get the size of the file.

Returns
The size of the file in bytes.

◆ content() [1/2]

ByteBlock & ts::mcast::FluteFile::content ( )
inline

Access the content of the file (modifiable version).

Returns
A reference to the content of the file.

◆ content() [2/2]

const ByteBlock & ts::mcast::FluteFile::content ( ) const
inline

Access the content of the file (constant version).

Returns
A constant reference to the content of the file.

◆ contentPointer()

const ByteBlockPtr ts::mcast::FluteFile::contentPointer ( ) const
inline

Get a shared pointer (std::shared_ptr) to the content of the file. This allow to keep the content for some time, even after the FluteFile object is deleted.

Returns
A shared pointer to the content of the file.

◆ toText()

UString ts::mcast::FluteFile::toText ( ) const

Get a character string version of the file, if it is a text file.

Returns
A string resulting from the conversion of the file content from UTF-8.

◆ toXML()

UString ts::mcast::FluteFile::toXML ( ) const

Get an indented XML character string version of the file, if it is a text file.

Returns
A string resulting from the conversion of the file content from UTF-8 and XML reindentation. If the text is not XML, the original text is returned.

◆ parseXML()

bool ts::mcast::FluteFile::parseXML ( xml::Document & xml_doc,
const UChar * expected_root = nullptr,
bool ignore_namespace = false )
protected

Parse the document using XML format.

Parameters
[in,out]xml_docXML document to parse.
[in]expected_rootExpected root name in XML text. Ignored if null or empty.
[in]ignore_namespaceSpecify if XML namespace is ignored by default in this document.
Returns
True on success, false on error.

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