20#ifndef HEDGEHOG_GRAPH_NOTIFIER_H 
   21#define HEDGEHOG_GRAPH_NOTIFIER_H 
   28namespace implementor {
 
   48      notifier->addSlot(slot);
 
   61  [[nodiscard]] std::set<abstraction::SlotAbstraction *> 
const &
connectedSlots()
 const override {
 
   62    throw std::runtime_error(
"A graph has no connected connectedSlots by itself.");
 
   67  void notify()
 override { 
throw std::runtime_error(
"A graph has no slot to notify."); }
 
Core abstraction to notify slots.
Core's abstraction to receive a signal.
Default concrete implementation of the notifier abstraction for the graph core.
void removeSlot(abstraction::SlotAbstraction *slot) override
Remove slot to the graph, add slot to all output nodes recursively.
void addSlot(abstraction::SlotAbstraction *slot) override
Add slot to the graph, add slot to all output nodes recursively.
void initialize(abstraction::NotifierAbstraction *notifierAbstraction) override
Redefine the implementor to do nothing, the graph do nothing by itself.
GraphNotifier()=default
Default constructor.
~GraphNotifier() override=default
Default destructor.
void notify() override
Do not use, a graph does not notify.
void notifyAllTerminated() override
Do not use, a graph does not notify.
std::set< abstraction::SlotAbstraction * > const & connectedSlots() const override
Do not use, a graph does not have slots by itself.
Implementor for the NotifierAbstraction.
std::unique_ptr< std::set< abstraction::NotifierAbstraction * > > abstractNotifiers_
Set of linked NotifierAbstraction.