SourceXtractorPlusPlus  0.13
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
< SegmentationProgress
segmentation_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_t
m_segmentation_listener
 
std::shared_ptr
< source_observer_t
m_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

Definition at line 55 of file ProgressMediator.h.

Definition at line 53 of file ProgressMediator.h.

Definition at line 54 of file ProgressMediator.h.

Constructor & Destructor Documentation

SourceXtractor::ProgressMediator::~ProgressMediator ( )
default
SourceXtractor::ProgressMediator::ProgressMediator ( )

Constructor

Definition at line 80 of file ProgressMediator.cpp.

Member Function Documentation

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< T >::notifyObservers().

Here is the call graph for this function:

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.

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.

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.

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.

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, and SourceXtractor::Observable< T >::notifyObservers().

Referenced by SourceXtractor::ProgressMediator::ProgressCounter::handleMessage(), SourceXtractor::ProgressMediator::SourceCounter::handleMessage(), and SourceXtractor::ProgressMediator::GroupCounter::handleMessage().

Here is the call graph for this function:

Member Data Documentation

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

Definition at line 96 of file ProgressMediator.h.

Referenced by update().

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

Definition at line 100 of file ProgressMediator.h.

Referenced by getDeblendingObserver().

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

Definition at line 96 of file ProgressMediator.h.

Referenced by update().

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

Definition at line 99 of file ProgressMediator.h.

Referenced by getDetectionObserver().

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

Definition at line 96 of file ProgressMediator.h.

Referenced by update().

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

Definition at line 100 of file ProgressMediator.h.

Referenced by getMeasurementObserver().

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

Definition at line 104 of file ProgressMediator.h.

Referenced by done(), and update().

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

Definition at line 98 of file ProgressMediator.h.

Referenced by getSegmentationObserver().

SegmentationProgress SourceXtractor::ProgressMediator::m_segmentation_progress
private

Definition at line 95 of file ProgressMediator.h.


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