aboutsummaryrefslogtreecommitdiff
path: root/src/EventQueue.hpp
blob: 7bcbbf74ffb7e6a054e12b1d816233edc5999a1d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include <QtCore>
#include <mutex>
#include <unordered_map>

#include "events/Event.hpp"
#include "events/EventHandlerRequest.hpp"

class EventQueue {
public:
  EventQueue() = default;

  void dispatch_event(Event *event);
  void register_event(const EventHandlerRequest &event);

private:
  std::mutex events_mutex;
  std::unordered_map<QString, std::vector<EventHandlerRequest>> events;
};