TSDuck v3.38-3696
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::SAT::time_association_info_type Class Reference

Representation of a time assocition between NCR and UTC. More...

#include <tsSAT.h>

Inheritance diagram for ts::SAT::time_association_info_type:
Collaboration diagram for ts::SAT::time_association_info_type:

Public Member Functions

 time_association_info_type ()=default
 Default constructor.
 
 time_association_info_type (PSIBuffer &buf)
 Read-in constructor.
 
void clear ()
 Clear values.
 
virtual void deserialize (PSIBuffer &buf) override
 This method deserializes (populates) the attributes of a geostationary satellite.
 
virtual bool fromXML (const xml::Element *element) override
 This method populates this object from XML attributes and sub-element.
 
virtual void serialize (PSIBuffer &buf) const override
 This method serializes the attributes of a geostationary satellite.
 
virtual void toXML (xml::Element *root) override
 This method converts this object to XML by populating necessary attributes and sub-elements into the provided element.
 

Public Attributes

uint32_t association_timestamp_nanoseconds = 0
 The number of nanoseconds of the association timestamp on top of the association_timestamp_seconds since January 1st, 1970 00:00 : 00.
 
uint64_t association_timestamp_seconds = 0
 The number of seconds of the association_timestamp since January 1st, 1970 00:00:00.
 
uint8_t association_type = 0
 4 bits. Indicates how the association_timestamp is to be interpreted (valid: 0 or 1).
 
bool leap59 = false
 Set to '1' to announce that a leap second will be skipped at the end of the quarter of the year to which the association timestamp belongs.Otherwise, this field shall be set to '0'.
 
bool leap61 = false
 Set to '1' to announce that a leap second will be added at the end of the quarter of a year to which the association timestamp belongs.
 
NCR_type ncr {}
 NCR time as specified in ETSI EN 301 790 and ISO/IEC 13818-1.
 
bool past_leap59 = false
 Set to '1' to announce that a leap second was skipped at the end of the quarter of a year previous to the quarter to which the association timestamp belongs.
 
bool past_leap61 = false
 Set to '1' to announce that a leap second is currently being added, when the association timestamp refers to the last second in a quarter of a year.
 

Detailed Description

Representation of a time assocition between NCR and UTC.

See also
ETSI EN 300 648, 5.2.11.4

Constructor & Destructor Documentation

◆ time_association_info_type()

ts::SAT::time_association_info_type::time_association_info_type ( PSIBuffer buf)
inline

Read-in constructor.

Parameters
[in,out]bufDeserialization buffer. Read the descriptor payload from buf. The end of read is the end of the binary payload. If any kind of error is reported in the buffer or if the payload is not completely read, the deserialization is considered as invalid.

Member Function Documentation

◆ fromXML()

virtual bool ts::SAT::time_association_info_type::fromXML ( const xml::Element element)
overridevirtual

This method populates this object from XML attributes and sub-element.

Parameters
[in]elementThe element whose attributes and sub-elements are parsed to construct this object
Returns
true if the requisite attributes and sub-elements are available and correct

Implements ts::SAT::SAT_base.

◆ toXML()

virtual void ts::SAT::time_association_info_type::toXML ( xml::Element root)
overridevirtual

This method converts this object to XML by populating necessary attributes and sub-elements into the provided element.

Parameters
[in,out]rootThe element whose attributes and sub-elements are added to to represent values in this object

Implements ts::SAT::SAT_base.

◆ serialize()

virtual void ts::SAT::time_association_info_type::serialize ( PSIBuffer buf) const
overridevirtual

This method serializes the attributes of a geostationary satellite.

Parameters
[in,out]bufA PSIBuffer with the appropriate size for the section payload.

Implements ts::SAT::SAT_base.

◆ deserialize()

virtual void ts::SAT::time_association_info_type::deserialize ( PSIBuffer buf)
overridevirtual

This method deserializes (populates) the attributes of a geostationary satellite.

Parameters
[in,out]bufDeserialization buffer. Read the descriptor payload from buf. The end of read is the end of the binary payload. If any kind of error is reported in the buffer or if the payload is not completely read, the deserialization is considered as invalid.

Implements ts::SAT::SAT_base.

Member Data Documentation

◆ ncr

NCR_type ts::SAT::time_association_info_type::ncr {}

NCR time as specified in ETSI EN 301 790 and ISO/IEC 13818-1.

The NCR time is associated with the association_timestamp. The NCR time used in the association shall be between 648 000 000 (2 hours) in the past and 7 776 000 000 (24 hours) in the future. Typically, it will be very close to the current NCR.

◆ association_timestamp_nanoseconds

uint32_t ts::SAT::time_association_info_type::association_timestamp_nanoseconds = 0

The number of nanoseconds of the association timestamp on top of the association_timestamp_seconds since January 1st, 1970 00:00 : 00.

(maximum : 1 000 000 000).

◆ leap61

bool ts::SAT::time_association_info_type::leap61 = false

Set to '1' to announce that a leap second will be added at the end of the quarter of a year to which the association timestamp belongs.

In case that the association timestamp refers to a time within such an added leap second, and the leap second is already added to the association timestamp, then this flag shall be set to '0'. In all other cases this field shall be set to '0'.

◆ past_leap59

bool ts::SAT::time_association_info_type::past_leap59 = false

Set to '1' to announce that a leap second was skipped at the end of the quarter of a year previous to the quarter to which the association timestamp belongs.

Otherwise, this field shall be set to '0'.

◆ past_leap61

bool ts::SAT::time_association_info_type::past_leap61 = false

Set to '1' to announce that a leap second is currently being added, when the association timestamp refers to the last second in a quarter of a year.

This field may also be set to '1' to announce that a leap second was added at the end of the quarter of a year previous to the quarter to which the association timestamp belongs except when it belongs to the last second in that quarter. Otherwise, this field shall be set to '0'.


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