OpenMS
ProgressLogger Class Reference

Base class for all classes that want to report their progress. More...

#include <OpenMS/CONCEPT/ProgressLogger.h>

Inherited by SignalToNoiseEstimator< MSSpectrum >, AccurateMassSearchEngine, AverageLinkage, BaseGroupFinder, BaseSuperimposer, BasicProteinInferenceAlgorithm, BayesianProteinInferenceAlgorithm, ChromatogramExtractor, ChromatogramExtractorAlgorithm, CompleteLinkage, ConfidenceScoring, ConsensusMapMergerAlgorithm, ConsensusXMLFile, DTA2DFile, ElutionPeakDetection, FASTAFile, FeatureFinderAlgorithm, FeatureFinderAlgorithmPicked, FeatureFinderMultiplexAlgorithm, FeatureFindingMetabo, FeatureGroupingAlgorithmKD, FeatureXMLFile, GNPSMGFFile, GaussFilter, GridBasedClustering< Metric >, IDMergerAlgorithm, IdXMLFile, CachedMzMLHandler, ConsensusXMLHandler, FeatureXMLHandler, OMSFileLoad, OMSFileStore, InternalCalibration, LinearResampler, MRMAssay, MRMDecoy, MRMFeatureFinderScoring, MRMFeatureQCFile, MS2File, MapAlignmentAlgorithmIdentification, MapAlignmentAlgorithmPoseClustering, MapAlignmentAlgorithmTreeGuided, MascotGenericFile, MascotInfile, MassTraceDetection, MasstraceCorrelator, MetaboliteSpectralMatching, MorphologicalFilter, MultiplexClustering, MultiplexFiltering, MzDataFile, MzIdentMLFile, MzMLFile, MzXMLFile, OMSFile, OpenPepXLAlgorithm, OpenPepXLLFAlgorithm, OpenSwathWorkflowBase, PeakPickerHiRes, PeakPickerIterative, PeptideIndexing, QcMLFile, SavitzkyGolayFilter, SignalToNoiseEstimator< Container >, SimpleSearchEngineAlgorithm, SingleLinkage, SpectraMerger, SwathFile, ToolDescriptionFile, TraMLFile, TransitionTSVFile, XFDRAlgorithm, XMassFile, and XQuestResultXMLFile.

Collaboration diagram for ProgressLogger:
[legend]

Classes

class  ProgressLoggerImpl
 This class represents an actual implementation of a logger. More...
 

Public Types

enum  LogType { CMD , GUI , NONE }
 Possible log types. More...
 

Public Member Functions

 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (const ProgressLogger &other)
 Assignment Operator. More...
 
void setLogType (LogType type) const
 Sets the progress log that should be used. The default type is NONE! More...
 
LogType getLogType () const
 Returns the type of progress log being used. More...
 
void setLogger (ProgressLoggerImpl *logger)
 Sets the logger to be used for progress logging. More...
 
void startProgress (SignedSize begin, SignedSize end, const String &label) const
 Initializes the progress display. More...
 
void setProgress (SignedSize value) const
 Sets the current progress. More...
 
void endProgress (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Protected Attributes

LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 

Static Protected Attributes

static int recursion_depth_
 

Detailed Description

Base class for all classes that want to report their progress.

Per default the progress log is disabled. Use setLogType to enable it.

Use startProgress, setProgress and endProgress for the actual logging.

Note
All methods are const, so it can be used through a const reference or in const methods as well!

Member Enumeration Documentation

◆ LogType

enum LogType

Possible log types.

Enumerator
CMD 

Command line progress.

GUI 

Progress dialog.

NONE 

No progress logging.

Constructor & Destructor Documentation

◆ ProgressLogger() [1/2]

Constructor.

◆ ~ProgressLogger()

virtual ~ProgressLogger ( )
virtual

Destructor.

◆ ProgressLogger() [2/2]

ProgressLogger ( const ProgressLogger other)

Copy constructor.

Member Function Documentation

◆ endProgress()

void endProgress ( UInt64  bytes_processed = 0) const

◆ getLogType()

LogType getLogType ( ) const

Returns the type of progress log being used.

◆ nextProgress()

void nextProgress ( ) const

increment progress by 1 (according to range begin-end)

Referenced by TOPPFLASHDeconv::main_().

◆ operator=()

ProgressLogger& operator= ( const ProgressLogger other)

Assignment Operator.

Referenced by SignalToNoiseEstimator< Container >::operator=().

◆ setLogger()

void setLogger ( ProgressLoggerImpl logger)

Sets the logger to be used for progress logging.

Parameters
logger

◆ setLogType()

◆ setProgress()

◆ startProgress()

void startProgress ( SignedSize  begin,
SignedSize  end,
const String label 
) const

Initializes the progress display.

Sets the progress range from begin to end. If begin equals end, setProgress only indicates that the program is still running, but without showing any absolute progress value.

Sets the label to label.

Note
Make sure to call setLogType first!

Referenced by SpectraMerger::averageCentroidSpectra_(), GridBasedClustering< Metric >::cluster(), SignalToNoiseEstimatorMeanIterative< Container >::computeSTN_(), SignalToNoiseEstimatorMedian< Container >::computeSTN_(), TOPPOpenSwathBase::loadTransitionList(), TOPPFLASHDeconv::main_(), and NucleicAcidSearchEngine::main_().

Member Data Documentation

◆ current_logger_

ProgressLoggerImpl* current_logger_
mutableprotected

◆ last_invoke_

time_t last_invoke_
mutableprotected

◆ recursion_depth_

int recursion_depth_
staticprotected

◆ type_

LogType type_
mutableprotected