1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:07:43 +00:00
serenity/Userland/Libraries/LibCore
Timothy Flynn 8ca528217c LibCore: Implement FileWatcher for Linux
This implements FileWatcher using inotify filesystem events. Serenity's
InodeWatcher is remarkably similar to inotify, so this is almost an
identical implementation.

The existing TestLibCoreFileWatcher test is added to Lagom (currently
just for Linux).

This does not implement BlockingFileWatcher as that is currently not
used anywhere but on Serenity.
2023-01-18 06:46:12 -05:00
..
Account.cpp LibCore: Call the mkstemp function in a slightly prettier way 2023-01-13 09:29:44 -05:00
Account.h LibCore: Add a deleted state for Account 2022-12-31 04:24:05 -07:00
AnonymousBuffer.cpp LibCore: Convert AnonymousBuffer to use System::anon_create 2022-02-10 21:35:17 +01:00
AnonymousBuffer.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
ArgsParser.cpp Everywhere: Fix badly-formatted includes 2023-01-02 11:06:15 -05:00
ArgsParser.h Everywhere: Use C++ concepts instead of requires clauses 2022-12-09 11:25:30 +00:00
BitStream.h LibCore: Add {Big,Little}EndianOutputBitStream 2023-01-10 10:28:26 +01:00
CMakeLists.txt LibCore: Implement FileWatcher for Linux 2023-01-18 06:46:12 -05:00
Command.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Command.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
ConfigFile.cpp LibConfig+LibCore+ConfigServer: Support u32 configuration entries 2022-12-23 23:26:21 +01:00
ConfigFile.h LibConfig+LibCore+ConfigServer: Support u32 configuration entries 2022-12-23 23:26:21 +01:00
DateTime.cpp LibCore: Convert explicit timezone to local in DateTime::parse 2022-12-19 07:07:49 -05:00
DateTime.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Debounce.h LibCore+Userland: Make Core::Timer::create_single_shot() return ErrorOr 2023-01-12 11:25:51 +01:00
DeferredInvocationContext.h Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
Directory.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Directory.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
DirIterator.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
DirIterator.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
ElapsedTimer.cpp LibCore+LibWeb: Use AK::Time instead of timeval in Core::ElapsedTimer 2023-01-07 14:51:04 +01:00
ElapsedTimer.h LibCore+LibWeb: Use AK::Time instead of timeval in Core::ElapsedTimer 2023-01-07 14:51:04 +01:00
Event.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Event.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
EventLoop.cpp AK+Everywhere: Rename JsonObject::get() to ::get_deprecated() 2023-01-17 19:52:52 -05:00
EventLoop.h LibCore: Explain EventLoop and reorder some members in the header 2023-01-11 11:49:05 +01:00
File.cpp LibCore: Use a StringView for the file path in File::remove 2022-12-23 10:38:14 -05:00
File.h LibCore: Use a StringView for the file path in File::remove 2022-12-23 10:38:14 -05:00
FilePermissionsMask.cpp LibCore: Implement four-digit modes for FilePermissionsMask parsing 2022-07-27 21:45:01 +00:00
FilePermissionsMask.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
FileStream.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FileWatcher.h LibCore: Default-initialize the FileWatcher event mask 2023-01-18 06:46:12 -05:00
FileWatcherLinux.cpp LibCore: Implement FileWatcher for Linux 2023-01-18 06:46:12 -05:00
FileWatcherSerenity.cpp LibCore: Move FileWatcher implementations into separate files 2023-01-18 06:46:12 -05:00
FileWatcherUnimplemented.cpp LibCore: Move FileWatcher implementations into separate files 2023-01-18 06:46:12 -05:00
Forward.h LibCore: Add forward declaration for Core::Stream::File 2023-01-07 10:53:43 +00:00
GetPassword.cpp Everywhere: Remove unused includes of LibC/stdlib.h 2023-01-02 20:27:20 -05:00
GetPassword.h LibCore: Use ErrorOr<T> for Core::get_password() 2021-11-08 00:35:27 +01:00
Group.cpp LibCore: Call the mkstemp function in a slightly prettier way 2023-01-13 09:29:44 -05:00
Group.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
IODevice.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
IODevice.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LocalServer.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LocalServer.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LockFile.cpp LibCore+Userland: Remove File::ensure_parent_directories 2022-04-11 00:08:48 +02:00
LockFile.h Everywhere: Use my cool new @serenityos.org email address 2021-09-01 11:37:25 +04:30
MappedFile.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
MappedFile.h LibCore+LibGfx: Pass file-path as StringView 2022-06-14 23:00:52 +02:00
MemoryStream.cpp LibCore: Add AllocatingMemoryStream::offset_of 2023-01-14 00:33:35 +03:30
MemoryStream.h LibCore: Add AllocatingMemoryStream::offset_of 2023-01-14 00:33:35 +03:30
MimeData.cpp LibCore: Teach MimeData about ICC file extension and contents 2023-01-08 13:25:15 +01:00
MimeData.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
NetworkJob.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
NetworkJob.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
NetworkResponse.h Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
Notifier.cpp LibCore: Remove unused header includes 2021-08-01 08:10:16 +02:00
Notifier.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Object.cpp LibCore+LibGUI: Add fallible versions of Widget::load_from_gml() 2023-01-01 09:55:05 -05:00
Object.h AK+Everywhere: Rename JsonObject::get() to ::get_deprecated() 2023-01-17 19:52:52 -05:00
Process.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Process.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
ProcessStatisticsReader.cpp AK+Everywhere: Rename JsonObject::get() to ::get_deprecated() 2023-01-17 19:52:52 -05:00
ProcessStatisticsReader.h LibCore: Use Core::Stream for ProcessStatisticsReader 2022-12-10 11:49:24 +00:00
Promise.h Everywhere: Remove unnecessary mutable attributes from lambdas 2022-11-19 14:37:31 +00:00
Property.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Property.h LibCore: Support write-only Object properties 2022-12-09 00:05:30 +01:00
Proxy.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
SecretString.cpp Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
SecretString.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SessionManagement.cpp Kernel+LibCore: Make %sid path parsing not take ages 2023-01-10 19:32:31 +01:00
SessionManagement.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
SharedCircularQueue.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
SocketAddress.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
SOCKSProxyClient.cpp LibCore: Use AllocatingMemoryStream for SOCKSProxyClient 2022-12-15 13:28:29 +00:00
SOCKSProxyClient.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
StandardPaths.cpp LibCore: Add StandardPaths::font_directories() 2023-01-11 20:54:49 +00:00
StandardPaths.h LibCore: Add StandardPaths::font_directories() 2023-01-11 20:54:49 +00:00
Stream.cpp LibCore: Enable file descriptor passing on OpenBSD 2023-01-15 01:11:46 +00:00
Stream.h LibCore: Remove Stream::write_or_error 2023-01-17 23:55:34 +01:00
System.cpp LibCore: On OpenBSD, handle anon_create() like on MacOS 2023-01-14 16:31:59 +01:00
System.h AK+Everywhere: Move custom deleter capability to OwnPtr 2022-12-17 16:00:08 -05:00
SystemServerTakeover.cpp LibCore: Use ';' to split socket path in SOCKET_TAKEOVER 2022-12-15 12:33:36 -05:00
SystemServerTakeover.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
TCPServer.cpp LibCore: Allow TCPServer's port to be reused after it exits 2022-11-14 13:43:24 -05:00
TCPServer.h LibCore: Allow TCPServer's port to be reused after it exits 2022-11-14 13:43:24 -05:00
TempFile.cpp LibCore: Use a StringView for the file path in File::remove 2022-12-23 10:38:14 -05:00
TempFile.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Timer.cpp LibCore+Userland: Don't auto-start new Core::Timers 2023-01-12 11:25:51 +01:00
Timer.h LibCore+Userland: Don't auto-start new Core::Timers 2023-01-12 11:25:51 +01:00
UDPServer.cpp LibCore: Make UDPServer::receive() return ErrorOr<ByteBuffer> 2022-12-20 10:45:20 +01:00
UDPServer.h LibCore: Make UDPServer::receive() return ErrorOr<ByteBuffer> 2022-12-20 10:45:20 +01:00
UmaskScope.h Everywhere: Fix order of includes and #pragma once 2022-09-18 18:30:05 -07:00
Version.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Version.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00