Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
OSXEventQueueBuffer.h
Go to the documentation of this file.
1
/*
2
* Deskflow -- mouse and keyboard sharing utility
3
* SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
4
* SPDX-FileCopyrightText: (C) 2025 Stephen Jensen <sjensen313@proton.me>
5
* SPDX-FileCopyrightText: (C) 2012 - 2025 Synergy App Ltd
6
* SPDX-FileCopyrightText: (C) 2004 Chris Schoeneman
7
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
8
*/
9
10
#pragma once
11
12
#include "
base/IEventQueueBuffer.h
"
13
14
#include <condition_variable>
15
#include <mutex>
16
#include <queue>
17
18
class
IEventQueue
;
19
21
class
OSXEventQueueBuffer
:
public
IEventQueueBuffer
22
{
23
public
:
24
OSXEventQueueBuffer
(
IEventQueue
*eventQueue);
25
~OSXEventQueueBuffer
()
override
=
default
;
26
27
// IEventQueueBuffer overrides
28
void
init
()
override
;
29
void
waitForEvent
(
double
timeout
)
override
;
30
Type
getEvent
(
Event
&event, uint32_t &dataID)
override
;
31
bool
addEvent
(uint32_t dataID)
override
;
32
bool
isEmpty
()
const override
;
33
34
private
:
35
IEventQueue
*m_eventQueue;
36
37
mutable
std::mutex m_mutex;
38
std::condition_variable m_cond;
39
std::queue<uint32_t> m_dataQueue;
40
};
timeout
static fd_set FAR fd_set FAR fd_set FAR const struct timeval FAR * timeout
Definition
ArchNetworkWinsock.cpp:41
IEventQueueBuffer.h
Event
Event.
Definition
Event.h:43
IEventQueueBuffer
Event queue buffer interface.
Definition
IEventQueueBuffer.h:22
IEventQueueBuffer::Type
Type
Definition
IEventQueueBuffer.h:26
IEventQueue
Event queue interface.
Definition
IEventQueue.h:29
OSXEventQueueBuffer::~OSXEventQueueBuffer
~OSXEventQueueBuffer() override=default
OSXEventQueueBuffer::addEvent
bool addEvent(uint32_t dataID) override
Post an event.
Definition
OSXEventQueueBuffer.cpp:59
OSXEventQueueBuffer::init
void init() override
Initialize.
Definition
OSXEventQueueBuffer.cpp:25
OSXEventQueueBuffer::waitForEvent
void waitForEvent(double timeout) override
Block waiting for an event.
Definition
OSXEventQueueBuffer.cpp:30
OSXEventQueueBuffer::OSXEventQueueBuffer
OSXEventQueueBuffer(IEventQueue *eventQueue)
Definition
OSXEventQueueBuffer.cpp:20
OSXEventQueueBuffer::getEvent
Type getEvent(Event &event, uint32_t &dataID) override
Get the next event.
Definition
OSXEventQueueBuffer.cpp:43
OSXEventQueueBuffer::isEmpty
bool isEmpty() const override
Check if event queue buffer is empty.
Definition
OSXEventQueueBuffer.cpp:69
src
lib
platform
OSXEventQueueBuffer.h
Generated by
1.18.0