![]() |
TSDuck v3.46-4816
MPEG Transport Stream Toolkit
|
Put a standard stream stream in binary mode. More...
#include <tsStdio.h>


Public Member Functions | |
| BinaryMode (Report *report, Id id) | |
| Constructor: save the original mode but doesn't change it. | |
| BinaryMode (Report *report, Id id, bool binary) | |
| Constructor: save the original mode and change it. | |
| BinaryMode (ReporterBase *delegate, Id id) | |
| Constructor: save the original mode but doesn't change it. | |
| BinaryMode (ReporterBase *delegate, Id id, bool binary) | |
| Constructor: save the original mode and change it. | |
| virtual | ~BinaryMode () override |
| Destructor: restore the original mode. | |
| Id | id () const |
| Get the stream id. | |
| bool | muteReport (bool mute) |
| Temporarily mute the associated report. | |
| virtual Report & | report () const override |
| Access the Report which is associated with this object. | |
| bool | restore () |
| Restore the original mode. | |
| bool | setBinaryMode (bool binary) |
| Change the binary vs. | |
| Report * | setReport (Report *report) |
| Associate this object with another Report to log errors. | |
| ReporterBase * | setReport (ReporterBase *delegate) |
| Associate this object with another ReporterBase to log errors. | |
Static Public Member Functions | |
| static int | SilentLevel (bool silent, int default_severity=Severity::Error) |
| Compute a log severity level from a "silent" parameter. | |
Put a standard stream stream in binary mode.
The destructor restores the original mode, binary or text, at the time of the constructor.
On UNIX systems, text vs. binary mode not make any difference.
On Windows systems, in a stream which is not open in binary mode, there is automatic translation between LF and CR-LF. The standard streams are open in text mode (non-binary). This class can forces one of them into binary mode.
Constructor: save the original mode but doesn't change it.
| [in] | report | Where to report errors. The report object must remain valid as long as this object exists or setReport() is used with another Report object. If report is null, log messages are discarded. If report is a subclass of ts::Args, terminate the application on error. |
| [in] | id | Standard stream to manage. |
| ts::Stdio::BinaryMode::BinaryMode | ( | ReporterBase * | delegate, |
| Id | id | ||
| ) |
Constructor: save the original mode but doesn't change it.
| [in] | delegate | Use the report of another ReporterBase. If delegate is null, log messages are discarded. If the resulting report is a subclass of ts::Args, terminate the application on error. |
| [in] | id | Standard stream to manage. |
Constructor: save the original mode and change it.
| [in] | report | Where to report errors. The report object must remain valid as long as this object exists or setReport() is used with another Report object. If report is null, log messages are discarded. If report is a subclass of ts::Args, terminate the application on error. |
| [in] | id | Standard stream to manage. |
| [in] | binary | If true, set in binary mode. If false, set in text mode. |
| ts::Stdio::BinaryMode::BinaryMode | ( | ReporterBase * | delegate, |
| Id | id, | ||
| bool | binary | ||
| ) |
Constructor: save the original mode and change it.
| [in] | delegate | Use the report of another ReporterBase. If delegate is null, log messages are discarded. If the resulting report is a subclass of ts::Args, terminate the application on error. |
| [in] | id | Standard stream to manage. |
| [in] | binary | If true, set in binary mode. If false, set in text mode. |
|
inline |
Get the stream id.
| bool ts::Stdio::BinaryMode::setBinaryMode | ( | bool | binary | ) |
Change the binary vs.
text mode.
| [in] | binary | If true, set in binary mode. If false, set in text mode. |
| bool ts::Stdio::BinaryMode::restore | ( | ) |
Restore the original mode.
This is automatically done in the destructor.
|
overridevirtualinherited |
Access the Report which is associated with this object.
Can be called from another thread only if the Report object is thread-safe.
Implements ts::ReporterInterface.
Associate this object with another Report to log errors.
| [in] | report | Where to report errors. The report object must remain valid as long as this object exists or setReport() is used with another Report object. If report is null, log messages are discarded. |
|
inherited |
Associate this object with another ReporterBase to log errors.
| [in] | delegate | Use the report of another ReporterBase. If delegate is null, the previous explicit Report is used.. |
|
inherited |
Temporarily mute the associated report.
| [in] | mute | It true, report() will return a null report (log messages are discarded), until muteReport() is invoked again with mute set to false. |
|
inlinestaticinherited |
Compute a log severity level from a "silent" parameter.
Some subclass methods have a "silent" parameter to avoid reporting errors which may be insignificant, typically when closing a device after an error, in which case the close operation may produce other errors if the previous error left the device in an inconsistent state. While those errors should not be displayed as errors, we still display them at debug level.
| [in] | silent | If true, do not report errors, report debug messages instead. |
| [in] | default_severity | Default severity, in non-silent mode (error by default). |