ldas-tools-al  2.6.6
Classes | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | List of all members
anonymous_namespace{gpstime.cc}::offset_data_type Class Reference

Class to keep track of leap seconds. More...

Classes

struct  data_type
 Data to keep track of when leap seconds have been added. More...
 
struct  jd_type
 Julian Date class. More...
 

Static Public Member Functions

static INT_2U GetLeapSeconds (INT_4U TAI)
 Obtain the number of leap seconds. More...
 
static void OffsetTableFilename (const std::string &Filename)
 Set the filename for the Offset Table. More...
 

Private Types

typedef std::list< data_typeoffset_table_type
 

Static Private Member Functions

static void update_table_filename_from_env ()
 
static void update_table ()
 
static void update_table (std::istream &Stream)
 

Static Private Attributes

static offset_table_type m_offset_table
 
static ReadWriteLock::baton_type m_offset_table_lock
 
static ReadWriteLock::baton_type m_offset_table_env_lock
 
static std::string m_offset_table_filename
 
static time_t m_offset_table_time_check = 0
 
static time_t m_offset_table_modify_time = 0
 
static bool m_offset_table_env_checked = false
 

Detailed Description

Class to keep track of leap seconds.

Member Typedef Documentation

◆ offset_table_type

typedef std::list< data_type > anonymous_namespace{gpstime.cc}::offset_data_type::offset_table_type
private

Member Function Documentation

◆ GetLeapSeconds()

INT_2U anonymous_namespace{gpstime.cc}::offset_data_type::GetLeapSeconds ( INT_4U  TAI)
static

Obtain the number of leap seconds.

Ensure the table is up to date

Calculate the leap seconds

◆ OffsetTableFilename()

static void anonymous_namespace{gpstime.cc}::offset_data_type::OffsetTableFilename ( const std::string &  Filename)
static

Set the filename for the Offset Table.

Parameters
[in]FilenameThe name of the file containing the leap seconds data.

◆ update_table() [1/2]

void anonymous_namespace{gpstime.cc}::offset_data_type::update_table ( )
inlinestaticprivate

Block others from any modifications

Secondary check to ensure that the update really needs to happen

Establish next time to check for changes.

Block others from any modifications

Secondary check to ensure that the update really needs to happen

◆ update_table() [2/2]

static void anonymous_namespace{gpstime.cc}::offset_data_type::update_table ( std::istream &  Stream)
staticprivate

◆ update_table_filename_from_env()

void anonymous_namespace{gpstime.cc}::offset_data_type::update_table_filename_from_env ( )
inlinestaticprivate

Member Data Documentation

◆ m_offset_table

offset_table_type anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table
staticprivate

◆ m_offset_table_env_checked

bool anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table_env_checked = false
staticprivate

◆ m_offset_table_env_lock

ReadWriteLock::baton_type anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table_env_lock
staticprivate
Initial value:
=
ReadWriteLock::Baton( )

◆ m_offset_table_filename

std::string anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table_filename
staticprivate

◆ m_offset_table_lock

ReadWriteLock::baton_type anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table_lock
staticprivate
Initial value:
=
ReadWriteLock::Baton( )

◆ m_offset_table_modify_time

time_t anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table_modify_time = 0
staticprivate

◆ m_offset_table_time_check

time_t anonymous_namespace{gpstime.cc}::offset_data_type::m_offset_table_time_check = 0
staticprivate

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