SourceXtractorPlusPlus
0.15
Please provide a description of the project.
|
#include <ProgressMediator.h>
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) |
![]() | |
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_t > | m_deblending_listener |
std::shared_ptr< group_observer_t > | m_measurement_listener |
std::mutex | m_mutex |
Additional Inherited Members | |
![]() | |
void | notifyObservers (const T &message) const |
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.
typedef Observer<std::shared_ptr<SourceGroupInterface> > SourceXtractor::ProgressMediator::group_observer_t |
Definition at line 55 of file ProgressMediator.h.
Definition at line 53 of file ProgressMediator.h.
typedef Observer<std::shared_ptr<SourceInterface> > SourceXtractor::ProgressMediator::source_observer_t |
Definition at line 54 of file ProgressMediator.h.
|
default |
SourceXtractor::ProgressMediator::ProgressMediator | ( | ) |
Constructor
Definition at line 80 of file ProgressMediator.cpp.
References std::make_shared().
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().
std::shared_ptr< ProgressMediator::group_observer_t > & SourceXtractor::ProgressMediator::getDeblendingObserver | ( | void | ) |
Definition at line 96 of file ProgressMediator.cpp.
References m_deblending_listener.
std::shared_ptr< ProgressMediator::source_observer_t > & SourceXtractor::ProgressMediator::getDetectionObserver | ( | void | ) |
Definition at line 92 of file ProgressMediator.cpp.
References m_detection_listener.
std::shared_ptr< ProgressMediator::group_observer_t > & SourceXtractor::ProgressMediator::getMeasurementObserver | ( | void | ) |
Definition at line 100 of file ProgressMediator.cpp.
References m_measurement_listener.
std::shared_ptr< ProgressMediator::segmentation_observer_t > & SourceXtractor::ProgressMediator::getSegmentationObserver | ( | void | ) |
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, m_segmentation_progress, SourceXtractor::Observable< T >::notifyObservers(), SourceXtractor::SegmentationProgress::position, and SourceXtractor::SegmentationProgress::total.
Referenced by SourceXtractor::ProgressMediator::ProgressCounter::handleMessage(), SourceXtractor::ProgressMediator::GroupCounter::handleMessage(), and SourceXtractor::ProgressMediator::SourceCounter::handleMessage().
|
private |
Definition at line 96 of file ProgressMediator.h.
Referenced by update().
|
private |
Definition at line 100 of file ProgressMediator.h.
Referenced by getDeblendingObserver().
|
private |
Definition at line 96 of file ProgressMediator.h.
Referenced by update().
|
private |
Definition at line 99 of file ProgressMediator.h.
Referenced by getDetectionObserver().
|
private |
Definition at line 96 of file ProgressMediator.h.
Referenced by update().
|
private |
Definition at line 100 of file ProgressMediator.h.
Referenced by getMeasurementObserver().
|
private |
Definition at line 104 of file ProgressMediator.h.
|
private |
Definition at line 98 of file ProgressMediator.h.
Referenced by getSegmentationObserver().
|
private |
Definition at line 95 of file ProgressMediator.h.
Referenced by update().