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
28public:
29 UnixEventFd() noexcept;
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
44private:
45#if AUI_PLATFORM_APPLE
46 int mOut, mIn;
47#else
48 int mHandle;
49#endif
50};
51
52
53
File-descriptor object to trigger select/poll/epoll/kqueue.
Definition: UnixEventFd.h:27
Forbids copy of your class.
Definition: values.h:40