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

Implementor for the SlotAbstraction. More...

#include "implementor_slot.h"

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

Public Member Functions

 ImplementorSlot ()
 Default constructor.
 
virtual ~ImplementorSlot ()=default
 Default destructor.
 
std::set< abstraction::SlotAbstraction * > & slots ()
 Accessor to the linked SlotAbstraction.
 
virtual void initialize (abstraction::SlotAbstraction *slotAbstraction)
 Initialize the implementor Slot by setting the corresponding abstraction.
 
virtual std::set< abstraction::NotifierAbstraction * > const & connectedNotifiers () const =0
 Accessor to the connected notifiers.
 
virtual bool hasNotifierConnected () const =0
 Test if there is any notifiers connected.
 
virtual void addNotifier (abstraction::NotifierAbstraction *notifier)=0
 Add a notifier to the set of NotifierAbstraction.
 
virtual void removeNotifier (abstraction::NotifierAbstraction *notifier)=0
 Remove notifier to the set of NotifierAbstraction.
 

Protected Attributes

std::unique_ptr< std::set< abstraction::SlotAbstraction * > > abstractSlots_ = nullptr
 Set of linked SlotAbstraction.
 

Detailed Description

Implementor for the SlotAbstraction.

Definition at line 36 of file implementor_slot.h.

Constructor & Destructor Documentation

◆ ImplementorSlot()

hh::core::implementor::ImplementorSlot::ImplementorSlot ( )
inlineexplicit

Default constructor.

Definition at line 43 of file implementor_slot.h.

◆ ~ImplementorSlot()

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

Default destructor.

Member Function Documentation

◆ addNotifier()

virtual void hh::core::implementor::ImplementorSlot::addNotifier ( abstraction::NotifierAbstraction notifier)
pure virtual

Add a notifier to the set of NotifierAbstraction.

Parameters
notifierNotifierAbstraction to add

Implemented in hh::core::implementor::DefaultSlot, and hh::core::implementor::GraphSlot.

◆ connectedNotifiers()

virtual std::set< abstraction::NotifierAbstraction * > const & hh::core::implementor::ImplementorSlot::connectedNotifiers ( ) const
pure virtual

Accessor to the connected notifiers.

Returns
Set of connected NotifierAbstraction

Implemented in hh::core::implementor::DefaultSlot, and hh::core::implementor::GraphSlot.

◆ hasNotifierConnected()

virtual bool hh::core::implementor::ImplementorSlot::hasNotifierConnected ( ) const
pure virtual

Test if there is any notifiers connected.

Returns
True if at least a notifier is connected, else false

Implemented in hh::core::implementor::DefaultSlot, and hh::core::implementor::GraphSlot.

◆ initialize()

virtual void hh::core::implementor::ImplementorSlot::initialize ( abstraction::SlotAbstraction slotAbstraction)
inlinevirtual

Initialize the implementor Slot by setting the corresponding abstraction.

Parameters
slotAbstractionSlot abstraction to set

Reimplemented in hh::core::implementor::GraphSlot.

Definition at line 55 of file implementor_slot.h.

◆ removeNotifier()

virtual void hh::core::implementor::ImplementorSlot::removeNotifier ( abstraction::NotifierAbstraction notifier)
pure virtual

Remove notifier to the set of NotifierAbstraction.

Parameters
notifierNotifierAbstraction to remove

Implemented in hh::core::implementor::DefaultSlot, and hh::core::implementor::GraphSlot.

◆ slots()

std::set< abstraction::SlotAbstraction * > & hh::core::implementor::ImplementorSlot::slots ( )
inline

Accessor to the linked SlotAbstraction.

Returns
Set of linked SlotAbstraction

Definition at line 51 of file implementor_slot.h.

Member Data Documentation

◆ abstractSlots_

std::unique_ptr<std::set<abstraction::SlotAbstraction *> > hh::core::implementor::ImplementorSlot::abstractSlots_ = nullptr
protected

Set of linked SlotAbstraction.

Definition at line 39 of file implementor_slot.h.