SourceXtractorPlusPlus  0.11
Please provide a description of the project.
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
SourceXtractor::ProgressMediator Class Reference

#include <ProgressMediator.h>

Inheritance diagram for SourceXtractor::ProgressMediator:
[legend]
Collaboration diagram for SourceXtractor::ProgressMediator:
[legend]

Classes

class  GroupCounter
 
class  ProgressCounter
 
class  SourceCounter
 

Public Types

typedef Observer< SegmentationProgresssegmentation_observer_t
 
typedef Observer< std::shared_ptr< SourceInterface > > source_observer_t
 
typedef Observer< std::shared_ptr< SourceGroupInterface > > group_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< T >
virtual ~Observable ()=default
 Destructor. More...
 
virtual void addObserver (std::shared_ptr< Observer< T >> observer)
 Adds an Observer that will be notified when notify Observers is called. More...
 
virtual void removeObserver (std::shared_ptr< Observer< T >> observer)
 Removes a previously added Observer from the list of Observers to notify. More...
 

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< T >
void notifyObservers (const T &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

Definition at line 55 of file ProgressMediator.h.

◆ segmentation_observer_t

Definition at line 53 of file ProgressMediator.h.

◆ source_observer_t

Definition at line 54 of file ProgressMediator.h.

Constructor & Destructor Documentation

◆ ~ProgressMediator()

SourceXtractor::ProgressMediator::~ProgressMediator ( )
default

◆ ProgressMediator()

SourceXtractor::ProgressMediator::ProgressMediator ( )

Constructor

Definition at line 74 of file ProgressMediator.cpp.

Member Function Documentation

◆ done()

void SourceXtractor::ProgressMediator::done ( )

Notify that the process is completely done

Definition at line 108 of file ProgressMediator.cpp.

References m_mutex, and SourceXtractor::Observable< T >::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 90 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 86 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 94 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 82 of file ProgressMediator.cpp.

References m_segmentation_listener.

◆ update()

void SourceXtractor::ProgressMediator::update ( void  )

Member Data Documentation

◆ m_deblended

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

Definition at line 96 of file ProgressMediator.h.

Referenced by 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().

◆ m_detected

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

Definition at line 96 of file ProgressMediator.h.

Referenced by 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().

◆ m_measured

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

Definition at line 96 of file ProgressMediator.h.

Referenced by 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().

◆ m_mutex

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

Definition at line 104 of file ProgressMediator.h.

Referenced by done(), 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().

◆ m_segmentation_progress

SegmentationProgress SourceXtractor::ProgressMediator::m_segmentation_progress
private

Definition at line 95 of file ProgressMediator.h.

Referenced by update().


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