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

#include <tsVersionInfo.h>

Inheritance diagram for ts::VersionInfo:
Collaboration diagram for ts::VersionInfo:

Public Types

enum class  Format {
  ALL = -1 ,
  SHORT = -2 ,
  LONG = -3 ,
  INTEGER = -4 ,
  DATE = -5
}

Public Member Functions

 VersionInfo (Report &report)
virtual ~VersionInfo () override
void startNewVersionDetection ()

Static Public Member Functions

static int CompareVersions (const UString &v1, const UString &v2)
static const Names & FormatEnum ()
static UString GetVersion (Format format=Format::SHORT, const UString &applicationName=UString())

Detailed Description

Information about version identification of TSDuck.

Member Enumeration Documentation

◆ Format

enum class ts::VersionInfo::Format
strong

Types of version formatting, for predefined option --version.

Enumerator
ALL 

Multi-line output with full details.

SHORT 

Short format X.Y-R.

LONG 

Full explanatory format.

INTEGER 

Integer format XXYYRRRRR.

DATE 

Build date.

Constructor & Destructor Documentation

◆ VersionInfo()

ts::VersionInfo::VersionInfo ( Report & report)

Default constructor.

Parameters
[in,out]reportReference to the report object through which new versions will be reported.

◆ ~VersionInfo()

virtual ts::VersionInfo::~VersionInfo ( )
overridevirtual

Destructor.

Member Function Documentation

◆ startNewVersionDetection()

void ts::VersionInfo::startNewVersionDetection ( )

Start a thread which checks the availability of a new TSDuck version.

If a new version is found, it is reported through the Report object that was specified in the constructor. This can be done only once, further calls are ignored. The destructor of this object waits for the completion of the thread.

If the environment variable TSDUCK_NO_VERSION_CHECK is not empty, do not start the new version check. To debug new version checking, define the environment variable TS_DEBUG_NEW_VERSION to any non-empty value; debug and errors messages will be reported through the same Report object.

◆ FormatEnum()

const Names & ts::VersionInfo::FormatEnum ( )
static

Enumeration description of class Format. Typically used to implement the --version command line option.

Returns
A constant reference to the enumeration description.

◆ GetVersion()

UString ts::VersionInfo::GetVersion ( Format format = Format::SHORT,
const UString & applicationName = UString() )
static

Get the TSDuck formatted version number.

Parameters
[in]formatType of output, short by default.
[in]applicationNameName of the application to prepend to the long format.
Returns
The formatted version string.

◆ CompareVersions()

int ts::VersionInfo::CompareVersions ( const UString & v1,
const UString & v2 )
static

Compare two version strings.

Parameters
[in]v1First version string.
[in]v2First version string.
Returns
One of -1, 0, 1 when v1 < v2, v1 == v2, v1 > v2.

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