20 #ifndef HEDGEHOG_CORE_NOTIFIER_H 21 #define HEDGEHOG_CORE_NOTIFIER_H 28 #include "../receiver/core_slot.h" 44 CoreNode(name, type, numberThreads) {
45 HLOG_SELF(0,
"Creating CoreNotifier with type: " << (
int) type <<
" and name: " << name)
64 #endif //HEDGEHOG_CORE_NOTIFIER_H NodeType type() const
Node type accessor.
Core Notifier interface, emit notification to CoreSlot.
CoreNotifier()=delete
Deleted default constructor.
~CoreNotifier() override
Notifier destructor.
Slot interface, receive notification from CoreNotifier.
NodeType
Hedgehog node's type.
Main Hedgehog core abstraction.
virtual void removeSlot(CoreSlot *slot)=0
Interface to remove a CoreSlot from this notifier.
CoreNotifier(std::string_view const &name, NodeType const type, size_t const numberThreads)
Notifier constructor.
virtual void addSlot(CoreSlot *slot)=0
Interface to add a CoreSlot to this notifier.
std::string_view const & name() const
Node name accessor.
virtual void notifyAllTerminated()=0
Notify all slot that the node is terminated.
size_t numberThreads() const
Number of threads associated accessor.