Hedgehog  3.1.0
A library to generate hybrid pipeline workflow systems
Loading...
Searching...
No Matches
hh::core::implementor::ImplementorNotifier Class Referenceabstract

Implementor for the NotifierAbstraction. More...

#include "implementor_notifier.h"

Inheritance diagram for hh::core::implementor::ImplementorNotifier:
Inheritance graph
Collaboration diagram for hh::core::implementor::ImplementorNotifier:
Collaboration graph

Public Member Functions

 ImplementorNotifier ()
 Default constructor.
 
virtual ~ImplementorNotifier ()=default
 Default destructor.
 
std::set< abstraction::NotifierAbstraction * > & notifiers ()
 Accessor to the linked NotifierAbstraction.
 
virtual void initialize (abstraction::NotifierAbstraction *notifierAbstraction)
 Initialize the implementor Notifier by setting the corresponding abstraction.
 
virtual std::set< abstraction::SlotAbstraction * > const & connectedSlots () const =0
 Accessor to the connected slots.
 
virtual void addSlot (abstraction::SlotAbstraction *slot)=0
 Add a slot to the connected slots.
 
virtual void removeSlot (abstraction::SlotAbstraction *slot)=0
 Remove a slot to the connected slots.
 
virtual void notify ()=0
 Notify the connected slots to wake up.
 
virtual void notifyAllTerminated ()=0
 Notify the connected slots that this notifier is terminated.
 

Protected Attributes

std::unique_ptr< std::set< abstraction::NotifierAbstraction * > > abstractNotifiers_ = nullptr
 Set of linked NotifierAbstraction.
 

Detailed Description

Implementor for the NotifierAbstraction.

Definition at line 39 of file implementor_notifier.h.

Constructor & Destructor Documentation

◆ ImplementorNotifier()

hh::core::implementor::ImplementorNotifier::ImplementorNotifier ( )
inlineexplicit

Default constructor.

Definition at line 46 of file implementor_notifier.h.

◆ ~ImplementorNotifier()

virtual hh::core::implementor::ImplementorNotifier::~ImplementorNotifier ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ addSlot()

virtual void hh::core::implementor::ImplementorNotifier::addSlot ( abstraction::SlotAbstraction slot)
pure virtual

Add a slot to the connected slots.

Parameters
slotSlot to add

Implemented in hh::core::implementor::DefaultNotifier, and hh::core::implementor::GraphNotifier.

◆ connectedSlots()

virtual std::set< abstraction::SlotAbstraction * > const & hh::core::implementor::ImplementorNotifier::connectedSlots ( ) const
pure virtual

Accessor to the connected slots.

Returns
Set of connected slots

Implemented in hh::core::implementor::DefaultNotifier, and hh::core::implementor::GraphNotifier.

◆ initialize()

virtual void hh::core::implementor::ImplementorNotifier::initialize ( abstraction::NotifierAbstraction notifierAbstraction)
inlinevirtual

Initialize the implementor Notifier by setting the corresponding abstraction.

Parameters
notifierAbstractionNotifier abstraction to set

Reimplemented in hh::core::implementor::GraphNotifier.

Definition at line 58 of file implementor_notifier.h.

◆ notifiers()

std::set< abstraction::NotifierAbstraction * > & hh::core::implementor::ImplementorNotifier::notifiers ( )
inline

Accessor to the linked NotifierAbstraction.

Returns
Set of NotifierAbstraction

Definition at line 54 of file implementor_notifier.h.

◆ notify()

virtual void hh::core::implementor::ImplementorNotifier::notify ( )
pure virtual

Notify the connected slots to wake up.

Implemented in hh::core::implementor::DefaultNotifier, and hh::core::implementor::GraphNotifier.

◆ notifyAllTerminated()

virtual void hh::core::implementor::ImplementorNotifier::notifyAllTerminated ( )
pure virtual

Notify the connected slots that this notifier is terminated.

Implemented in hh::core::implementor::DefaultNotifier, and hh::core::implementor::GraphNotifier.

◆ removeSlot()

virtual void hh::core::implementor::ImplementorNotifier::removeSlot ( abstraction::SlotAbstraction slot)
pure virtual

Remove a slot to the connected slots.

Parameters
slotSlot to remove

Implemented in hh::core::implementor::DefaultNotifier, and hh::core::implementor::GraphNotifier.

Member Data Documentation

◆ abstractNotifiers_

std::unique_ptr<std::set<abstraction::NotifierAbstraction *> > hh::core::implementor::ImplementorNotifier::abstractNotifiers_ = nullptr
protected

Set of linked NotifierAbstraction.

Definition at line 42 of file implementor_notifier.h.