PrivMX
DOCS
PrivMX Endpoint
v2.8.0
v2.8.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
:
25
static
EventQueue
getInstance
();
26
32
void
emitBreakEvent
();
33
39
EventHolder
waitEvent
();
40
46
std::optional<EventHolder>
getEvent
();
47
48
private
:
49
EventQueue() {};
50
EventQueue
(std::shared_ptr<EventQueueImpl> impl) : _impl(impl) {};
51
std::shared_ptr<EventQueueImpl> _impl;
52
};
53
54
}
// namespace core
55
}
// namespace endpoint
56
}
// namespace privmx
57
58
#endif
// _PRIVMXLIB_ENDPOINT_CORE_EVENTQUEUE_HPP_
privmx::endpoint::core::EventHolder
Definition
Events.hpp:78
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