SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceXtractor::ProgressMediator Class Reference

#include <ProgressMediator.h>

Inheritance diagram for SourceXtractor::ProgressMediator:
Collaboration diagram for SourceXtractor::ProgressMediator:

Classes

class  GroupCounter
class  ProgressCounter
class  SourceCounter

Public Types

typedef Observer< SegmentationProgresssegmentation_observer_t
typedef Observer< SourceInterfacesource_observer_t
typedef Observer< SourceGroupInterfacegroup_observer_t

Public Member Functions

 ~ProgressMediator ()=default
 ProgressMediator ()
std::shared_ptr< segmentation_observer_t > & getSegmentationObserver (void)
std::shared_ptr< source_observer_t > & getDetectionObserver (void)
std::shared_ptr< group_observer_t > & getDeblendingObserver (void)
std::shared_ptr< group_observer_t > & getMeasurementObserver (void)
void done ()
void update (void)
Public Member Functions inherited from SourceXtractor::Observable< std::list< ProgressInfo > >
virtual ~Observable ()=default
 Destructor.
virtual void addObserver (std::shared_ptr< Observer< std::list< ProgressInfo > > > observer)
 Adds an Observer that will be notified when notify Observers is called.
virtual void removeObserver (std::shared_ptr< Observer< std::list< ProgressInfo > > > observer)
 Removes a previously added Observer from the list of Observers to notify.
Public Member Functions inherited from SourceXtractor::Observable< bool >
virtual ~Observable ()=default
 Destructor.
virtual void addObserver (std::shared_ptr< Observer< bool > > observer)
 Adds an Observer that will be notified when notify Observers is called.
virtual void removeObserver (std::shared_ptr< Observer< bool > > observer)
 Removes a previously added Observer from the list of Observers to notify.

Private Attributes

SegmentationProgress m_segmentation_progress
std::atomic_int m_detected
std::atomic_int m_deblended
std::atomic_int m_measured
std::shared_ptr< segmentation_observer_tm_segmentation_listener
std::shared_ptr< source_observer_tm_detection_listener
std::shared_ptr< group_observer_tm_deblending_listener
std::shared_ptr< group_observer_tm_measurement_listener
std::mutex m_mutex

Additional Inherited Members

Protected Member Functions inherited from SourceXtractor::Observable< std::list< ProgressInfo > >
void notifyObservers (const std::list< ProgressInfo > &message) const
Protected Member Functions inherited from SourceXtractor::Observable< bool >
void notifyObservers (const bool &message) const

Detailed Description

This class provides concrete observers for different steps of SourceXtractor, so it can keep count of the progress. It will wrap up this information and pass it along to an agnostic ProgressReporter.

Definition at line 51 of file ProgressMediator.h.

Member Typedef Documentation

◆ group_observer_t

◆ segmentation_observer_t

◆ source_observer_t

Constructor & Destructor Documentation

◆ ~ProgressMediator()

SourceXtractor::ProgressMediator::~ProgressMediator ( )
default

◆ ProgressMediator()

Member Function Documentation

◆ done()

void SourceXtractor::ProgressMediator::done ( )

Notify that the process is completely done

Definition at line 114 of file ProgressMediator.cpp.

References m_mutex, and SourceXtractor::Observable< bool >::notifyObservers().

Here is the call graph for this function:

◆ getDeblendingObserver()

std::shared_ptr< ProgressMediator::group_observer_t > & SourceXtractor::ProgressMediator::getDeblendingObserver ( void )
Returns
An observer for the deblending stage.

Definition at line 96 of file ProgressMediator.cpp.

References m_deblending_listener.

◆ getDetectionObserver()

std::shared_ptr< ProgressMediator::source_observer_t > & SourceXtractor::ProgressMediator::getDetectionObserver ( void )
Returns
An observer for the detection stage.

Definition at line 92 of file ProgressMediator.cpp.

References m_detection_listener.

◆ getMeasurementObserver()

std::shared_ptr< ProgressMediator::group_observer_t > & SourceXtractor::ProgressMediator::getMeasurementObserver ( void )
Returns
An observer for the measurement stage.

Definition at line 100 of file ProgressMediator.cpp.

References m_measurement_listener.

◆ getSegmentationObserver()

std::shared_ptr< ProgressMediator::segmentation_observer_t > & SourceXtractor::ProgressMediator::getSegmentationObserver ( void )
Returns
An observer for the segmentation stage.

Definition at line 88 of file ProgressMediator.cpp.

References m_segmentation_listener.

◆ update()

void SourceXtractor::ProgressMediator::update ( void )

Trigger a notification

Definition at line 104 of file ProgressMediator.cpp.

References m_deblended, m_detected, m_measured, m_mutex, m_segmentation_progress, and SourceXtractor::Observable< std::list< ProgressInfo > >::notifyObservers().

Here is the call graph for this function:

Member Data Documentation

◆ m_deblended

std::atomic_int SourceXtractor::ProgressMediator::m_deblended
private

Definition at line 96 of file ProgressMediator.h.

Referenced by ProgressMediator(), and update().

◆ m_deblending_listener

std::shared_ptr<group_observer_t> SourceXtractor::ProgressMediator::m_deblending_listener
private

Definition at line 100 of file ProgressMediator.h.

Referenced by getDeblendingObserver(), and ProgressMediator().

◆ m_detected

std::atomic_int SourceXtractor::ProgressMediator::m_detected
private

Definition at line 96 of file ProgressMediator.h.

Referenced by ProgressMediator(), and update().

◆ m_detection_listener

std::shared_ptr<source_observer_t> SourceXtractor::ProgressMediator::m_detection_listener
private

Definition at line 99 of file ProgressMediator.h.

Referenced by getDetectionObserver(), and ProgressMediator().

◆ m_measured

std::atomic_int SourceXtractor::ProgressMediator::m_measured
private

Definition at line 96 of file ProgressMediator.h.

Referenced by ProgressMediator(), and update().

◆ m_measurement_listener

std::shared_ptr<group_observer_t> SourceXtractor::ProgressMediator::m_measurement_listener
private

Definition at line 100 of file ProgressMediator.h.

Referenced by getMeasurementObserver(), and ProgressMediator().

◆ m_mutex

std::mutex SourceXtractor::ProgressMediator::m_mutex
private

Definition at line 104 of file ProgressMediator.h.

Referenced by done(), ProgressMediator(), and update().

◆ m_segmentation_listener

std::shared_ptr<segmentation_observer_t> SourceXtractor::ProgressMediator::m_segmentation_listener
private

Definition at line 98 of file ProgressMediator.h.

Referenced by getSegmentationObserver(), and ProgressMediator().

◆ m_segmentation_progress

SegmentationProgress SourceXtractor::ProgressMediator::m_segmentation_progress
private

Definition at line 95 of file ProgressMediator.h.

Referenced by ProgressMediator(), and update().


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