EventType -> T

main
Benjamin Kraft 2 years ago
parent 04c0d13692
commit ea3e2fb253
  1. 4
      src/Listener.h
  2. 14
      src/Queue.h

@ -3,10 +3,10 @@
#include <iostream> #include <iostream>
#include "Event.h" #include "Event.h"
template <typename EventType> template <typename T>
class Listener { class Listener {
public: public:
virtual void accept(EventType *) {} virtual void accept(T *) {}
}; };
class InputListener : public Listener<InputEvent> { class InputListener : public Listener<InputEvent> {

@ -52,11 +52,11 @@ public:
}; };
template <typename EventType> template <typename T>
class EventQueue : private Queue<EventType>{ class EventQueue : private Queue<T>{
std::set<Listener<EventType> *> listeners; std::set<Listener<T> *> listeners;
void update() override { void update() override {
EventType * event = this->pop(); T * event = this->pop();
for (auto listener : listeners) for (auto listener : listeners)
listener->accept(event); listener->accept(event);
@ -64,13 +64,13 @@ class EventQueue : private Queue<EventType>{
delete event; delete event;
} }
public: public:
void submitEvent(EventType * event){ void submitEvent(T * event){
this->push(event); this->push(event);
} }
void registerListener(Listener<EventType> * listener){ void registerListener(Listener<T> * listener){
listeners.insert(listener); listeners.insert(listener);
} }
void unregisterListener(Listener<EventType> * listener){ void unregisterListener(Listener<T> * listener){
listeners.erase(listener); listeners.erase(listener);
} }
}; };

Loading…
Cancel
Save