2022-06-10 20:44:40 +00:00
|
|
|
#pragma once
|
|
|
|
#include "Event.h"
|
|
|
|
#include "EventListener.h"
|
|
|
|
|
|
|
|
class EventEmitter {
|
|
|
|
public:
|
|
|
|
void Subscribe (EventListener& subscriber);
|
|
|
|
void Unsubscribe(EventListener& subscriber);
|
2022-06-19 18:01:31 +00:00
|
|
|
void EmitEvent(Event& incident);
|
|
|
|
|
2022-06-10 20:44:40 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
std::list<EventListener*> subscribers;
|
2022-06-19 18:01:31 +00:00
|
|
|
|
2022-06-10 20:44:40 +00:00
|
|
|
|
|
|
|
EventEmitter();
|
|
|
|
|
|
|
|
};
|