GUI
include
EventQueue.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 by Maciej Wiecierzewski
3
*/
4
5
#ifndef EVENTQUEUE_H
6
#define EVENTQUEUE_H
7
8
#include <functional>
9
#include <utility>
10
#include <queue>
11
12
#include "
Event.h
"
13
#include "
EventEmitter.h
"
14
#include "
events.h
"
15
16
namespace
gui
17
{
18
20
21
class
EventQueue
22
{
23
public
:
24
EventQueue
() {};
25
~EventQueue
() {};
26
33
void
addToQueue
(
Event
&& event,
EventListener
eventListener);
34
40
bool
empty
();
41
48
Event
getNextEvent
(
EventListener
&eventListener);
49
50
protected
:
51
52
private
:
53
55
56
struct
Entry
57
{
58
Event
event
;
59
EventListener
eventListener
;
60
61
Entry
(
Event
& event,
EventListener
& eventListener) :
62
event(std::move(event)),
63
eventListener(eventListener)
64
{
65
}
66
67
Entry
(
Entry
&& other) :
68
event(std::move(other.event)),
69
eventListener(std::move(other.eventListener))
70
{
71
}
72
73
Entry
(
Entry
&) =
delete
;
74
};
75
76
std::queue<Entry>
queue
;
77
};
78
79
}
80
81
#endif // EVENTQUEUE_H
Generated on Sat Feb 11 2017 20:22:31 for GUI by
1.8.13