Event Dispatcher

namespace HTTPServer
class EventDispatcher

Public Functions

void subscribe(IObserver *observer)
void unsubscribe(IObserver *observer)
void dispatch(const Event &event)

Public Static Functions

static EventDispatcher &instance()

Private Functions

EventDispatcher() = default
~EventDispatcher() = default
EventDispatcher(const EventDispatcher&) = delete
EventDispatcher &operator=(const EventDispatcher&) = delete

Private Members

std::vector<IObserver*> d_observers
std::mutex d_mtx