PrivMX
DOCS
PrivMX Endpoint
v2.7.0
v2.7.0
Loading...
Searching...
No Matches
EventQueue.hpp
1
#ifndef _PRIVMXLIB_ENDPOINT_CORE_EVENTQUEUE_HPP_
2
#define _PRIVMXLIB_ENDPOINT_CORE_EVENTQUEUE_HPP_
3
4
#include <memory>
5
#include <optional>
6
7
#include "privmx/endpoint/core/Events.hpp"
8
9
namespace
privmx {
10
namespace
endpoint {
11
namespace
core {
12
13
class
EventQueueImpl;
14
18
class
EventQueue {
19
public
:
20
26
static
EventQueue
getInstance
();
27
33
void
emitBreakEvent
();
34
40
EventHolder
waitEvent
();
41
47
std::optional<EventHolder>
getEvent
();
48
49
private
:
50
EventQueue() {};
51
EventQueue
(std::shared_ptr<EventQueueImpl> impl) : _impl(impl) {};
52
std::shared_ptr<EventQueueImpl> _impl;
53
};
54
55
}
// namespace core
56
}
// namespace endpoint
57
}
// namespace privmx
58
59
#endif
// _PRIVMXLIB_ENDPOINT_CORE_EVENTQUEUE_HPP_
privmx::endpoint::core::EventHolder
Definition
Events.hpp:80
privmx::endpoint::core::EventQueue
Definition
EventQueue.hpp:18
privmx::endpoint::core::EventQueue::getInstance
static EventQueue getInstance()
privmx::endpoint::core::EventQueue::getEvent
std::optional< EventHolder > getEvent()
privmx::endpoint::core::EventQueue::waitEvent
EventHolder waitEvent()
privmx::endpoint::core::EventQueue::emitBreakEvent
void emitBreakEvent()
privmx
endpoint
core
EventQueue.hpp