AUI Framework
master
Cross-platform module-based framework for developing C++20 desktop applications
UnixEventFd.h
1
/*
2
* AUI Framework - Declarative UI toolkit for modern C++20
3
* Copyright (C) 2020-2024 Alex2772 and Contributors
4
*
5
* SPDX-License-Identifier: MPL-2.0
6
*
7
* This Source Code Form is subject to the terms of the Mozilla Public
8
* License, v. 2.0. If a copy of the MPL was not distributed with this
9
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
*/
11
12
//
13
// Created by alex2772 on 4/19/22.
14
//
15
16
#pragma once
17
18
19
#include "AUI/Traits/values.h"
20
27
class
UnixEventFd
:
public
aui::noncopyable
{
28
public
:
29
UnixEventFd
()
noexcept
;
30
~UnixEventFd
();
31
32
void
set()
noexcept
;
33
void
reset()
noexcept
;
34
35
[[nodiscard]]
36
int
handle()
noexcept
{
37
#if AUI_PLATFORM_APPLE
38
return
mOut;
39
#else
40
return
mHandle;
41
#endif
42
}
43
44
private
:
45
#if AUI_PLATFORM_APPLE
46
int
mOut, mIn;
47
#else
48
int
mHandle;
49
#endif
50
};
51
52
53
UnixEventFd
File-descriptor object to trigger select/poll/epoll/kqueue.
Definition:
UnixEventFd.h:27
aui::noncopyable
Forbids copy of your class.
Definition:
values.h:40