Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
IEventQueueBuffer.h
Go to the documentation of this file.
1
/*
2
* Deskflow -- mouse and keyboard sharing utility
3
* SPDX-FileCopyrightText: (C) 2025 Deskflow Developers
4
* SPDX-FileCopyrightText: (C) 2012 - 2016 Synergy App Ltd
5
* SPDX-FileCopyrightText: (C) 2004 Chris Schoeneman
6
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7
*/
8
9
#pragma once
10
11
#include <assert.h>
12
#include <cstdint>
13
14
class
Event
;
15
class
EventQueueTimer
;
16
18
21
class
IEventQueueBuffer
22
{
23
public
:
24
virtual
~IEventQueueBuffer
() =
default
;
25
enum class
Type
: uint8_t
26
{
27
Unknown,
28
System,
29
User
30
};
31
33
34
36
39
virtual
void
init
() = 0;
40
42
46
virtual
void
waitForEvent
(
double
timeout
) = 0;
47
49
57
virtual
Type
getEvent
(
Event
&event, uint32_t &dataID) = 0;
58
60
66
virtual
bool
addEvent
(uint32_t dataID) = 0;
67
69
72
virtual
bool
isEmpty
()
const
= 0;
73
};
timeout
static fd_set FAR fd_set FAR fd_set FAR const struct timeval FAR * timeout
Definition
ArchNetworkWinsock.cpp:41
EventQueueTimer
Definition
EventQueueTimer.h:12
Event
Event.
Definition
Event.h:43
IEventQueueBuffer
Event queue buffer interface.
Definition
IEventQueueBuffer.h:22
IEventQueueBuffer::getEvent
virtual Type getEvent(Event &event, uint32_t &dataID)=0
Get the next event.
IEventQueueBuffer::Type
Type
Definition
IEventQueueBuffer.h:26
IEventQueueBuffer::~IEventQueueBuffer
virtual ~IEventQueueBuffer()=default
IEventQueueBuffer::init
virtual void init()=0
Initialize.
IEventQueueBuffer::waitForEvent
virtual void waitForEvent(double timeout)=0
Block waiting for an event.
IEventQueueBuffer::addEvent
virtual bool addEvent(uint32_t dataID)=0
Post an event.
IEventQueueBuffer::isEmpty
virtual bool isEmpty() const =0
Check if event queue buffer is empty.
src
lib
base
IEventQueueBuffer.h
Generated by
1.18.0