ladybird/Userland/Libraries/LibCore
Timothy Flynn 577efcdc32 LibCore: Create a system time zone watcher
This creates platform-dependent monitors to detect when the system time
zone changes. On Linux, we use a file watcher to monitor files such as
/etc/localtime for changes. On macOS, this uses CFNotificationCenter to
be notified by the OS when the time zone changes.

Note: the macOS implementation requires running in a process which is
running the CoreFoundation event loop. Both the AppKit and Qt chromes
are doing so in the UI process, but this means we cannot run this
monitor in the WebContent process.
2024-08-25 09:47:42 +02:00
..
Platform LibCore: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
Account.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Account.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
AnonymousBuffer.cpp Userland+Tests: Don't use MAP_FILE when mmap-ing 2023-09-01 19:50:35 +02:00
AnonymousBuffer.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
ArgsParser.cpp LibCore: Support Optional<StringView> as an argument to ArgsParser 2024-03-03 08:56:00 +01:00
ArgsParser.h LibCore: Make short_name optional for ArgsParser 2024-04-22 08:10:08 +02:00
CMakeLists.txt LibCore: Create a system time zone watcher 2024-08-25 09:47:42 +02:00
Command.cpp Userland: Avoid some now-unneeded explicit conversions to Bytes 2024-04-04 11:23:21 +02:00
Command.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ConfigFile.cpp Userland: Avoid some now-unneeded explicit conversions to Bytes 2024-04-04 11:23:21 +02:00
ConfigFile.h Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
DateTime.cpp LibCore+LibJS+LibUnicode: Port retrieving time zone offsets to ICU 2024-06-26 10:14:02 +02:00
DateTime.h LibCore: Allow formatting a DateTime in GMT 2024-04-02 07:51:02 +02:00
Debounce.h LibCore: Stop obsessing about tiny OOMs in Core::Timer 2024-04-17 07:16:52 +02:00
DeferredInvocationContext.h Revert "LibCore: Add Core::deferred_invoke_if(F, Condition)" 2024-05-21 23:32:54 +02:00
Directory.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Directory.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
DirectoryEntry.cpp LibCore: Add methods to convert DirectoryEntry types to names 2024-01-13 19:01:07 -07:00
DirectoryEntry.h LibCore: Add methods to convert DirectoryEntry types to names 2024-01-13 19:01:07 -07:00
DirIterator.cpp LibCore: Add new flag for DirIterator to not use fstatat 2024-01-13 19:01:07 -07:00
DirIterator.h LibCore: Add new flag for DirIterator to not use fstatat 2024-01-13 19:01:07 -07:00
ElapsedTimer.cpp LibCore: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
ElapsedTimer.h LibCore: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
Environment.cpp LibCore: Be more BSD-friendly in Core::Environment 2024-06-06 12:48:58 -06:00
Environment.h LibCore: Introduce Core::Environment wrapper 2024-02-27 08:33:48 +00:00
Event.cpp Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
Event.h LibCore+Ladybird: Don't store timer_id in Core::TimerEvent 2024-02-25 17:24:36 -07:00
EventLoop.cpp Revert "LibCore: Add Core::deferred_invoke_if(F, Condition)" 2024-05-21 23:32:54 +02:00
EventLoop.h Userland: Add ESCAPING annotations to a bunch of places 2024-05-22 21:55:34 -06:00
EventLoopImplementation.cpp LibCore: Move post_event() back to EventLoopImplementation 2023-04-26 19:17:04 +01:00
EventLoopImplementation.h LibCore+Ladybird: Don't force timer ids to be integer just to remap them 2024-02-25 17:24:36 -07:00
EventLoopImplementationUnix.cpp LibCore: Log errors from pipe2 when creating an event loop 2024-07-23 09:04:42 +02:00
EventLoopImplementationUnix.h LibCore: Use Core::System::pipe2 for creating the event loops waking FDs 2024-03-13 12:52:07 -04:00
EventReceiver.cpp LibCore: Ignore timer events after stop() has been called 2024-03-25 14:16:55 +01:00
EventReceiver.h LibCore: Remove unnecessary or invalid write after child remove 2024-03-22 16:32:39 -04:00
File.cpp LibCore: Keep track of file offset to avoid system call for tell() 2023-07-06 21:05:57 +02:00
File.h AK+LibCore: Make output buffered stream seekable 2023-08-12 12:25:26 -06:00
FilePermissionsMask.cpp LibCore: Implement four-digit modes for FilePermissionsMask parsing 2022-07-27 21:45:01 +00:00
FilePermissionsMask.h Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
FileWatcher.h LibCore: Add support for monitoring symbolic links 2024-08-25 09:47:42 +02:00
FileWatcherLinux.cpp LibCore: Add support for monitoring symbolic links 2024-08-25 09:47:42 +02:00
FileWatcherMacOS.mm LibCore: Improve support for the macOS file watcher with actual files 2024-08-25 09:47:42 +02:00
FileWatcherUnimplemented.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Forward.h LibCore: Create a system time zone watcher 2024-08-25 09:47:42 +02:00
GetPassword.cpp LibCore: Propagate errors in SecretString 2023-02-08 19:49:48 +01:00
GetPassword.h LibCore: Use ErrorOr<T> for Core::get_password() 2021-11-08 00:35:27 +01:00
Group.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Group.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
IOSurface.cpp LibCore: Remove workarounds for system header global name conflicts 2024-07-18 09:43:38 +01:00
IOSurface.h LibCore+LibWeb: Use Metal backend for Skia painter on macOS 2024-06-28 14:25:34 +02:00
LocalServer.cpp LibCore: Add initializer for LocalServer from already connected socket 2024-04-27 20:32:12 -04:00
LocalServer.h LibCore: Add initializer for LocalServer from already connected socket 2024-04-27 20:32:12 -04: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
MachPort.cpp LibCore: Make MachPort build on GNU Mach 2024-05-02 07:46:53 -06:00
MachPort.h LibCore: Don't wrap <mach/mach.h> in extern "C" on Darwin 2024-08-19 12:56:55 +02:00
MappedFile.cpp AK: Use an enum to specify the open mode instead of a bool 2023-11-08 18:19:34 +01:00
MappedFile.h AK: Use an enum to specify the open mode instead of a bool 2023-11-08 18:19:34 +01:00
MetalContext.h LibCore+LibWeb: Use Metal backend for Skia painter on macOS 2024-06-28 14:25:34 +02:00
MetalContext.mm LibCore: Remove workarounds for system header global name conflicts 2024-07-18 09:43:38 +01:00
MimeData.cpp LibCore: Guess MIME type of .xhtml files to be application/xhtml+xml 2024-07-25 15:05:28 +02:00
MimeData.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
NetworkJob.cpp Everywhere: Write dtors for types with incomplete members out-of-line 2024-06-16 07:19:56 -04:00
NetworkJob.h Everywhere: Write dtors for types with incomplete members out-of-line 2024-06-16 07:19:56 -04:00
NetworkResponse.h Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
Notifier.cpp LibCore: Allow listening for multiple conditions using a single Notifier 2024-02-03 16:43:13 -07:00
Notifier.h LibCore: Make Timers and Notifiers aware of threads 2024-05-20 08:03:35 +02:00
Process.cpp LibWebView+LibCore: Manage process lifecycle using a SIGCHLD handler 2024-07-01 18:10:56 +02:00
Process.h LibCore: Include full definition for LocalSocket 2024-07-02 10:27:45 +02:00
ProcessStatisticsReader.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
ProcessStatisticsReader.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Promise.h LibCore: Fix compilation of infallible Promise::when_resolved handlers 2024-01-01 10:11:45 +01:00
Proxy.h AK+LibURL: Move AK::URL into a new URL library 2024-03-18 14:06:28 -04:00
Resource.cpp LibCore: Add modified time to Resource 2024-04-02 07:51:02 +02:00
Resource.h LibCore: Add modified time to Resource 2024-04-02 07:51:02 +02:00
ResourceImplementation.cpp LibCore: Add modified time to Resource 2024-04-02 07:51:02 +02:00
ResourceImplementation.h LibCore: Add modified time to Resource 2024-04-02 07:51:02 +02:00
ResourceImplementationFile.cpp LibCore: Add modified time to Resource 2024-04-02 07:51:02 +02:00
ResourceImplementationFile.h LibCore: Do not return an Optional from Resource:::filesystem_path 2023-11-06 09:39:59 +01:00
SecretString.cpp LibCore: Propagate errors in SecretString 2023-02-08 19:49:48 +01:00
SecretString.h LibCore: Use AK_MAKE_DEFAULT_MOVABLE to avoid mistakes in default impls 2023-06-18 08:47:51 +01:00
SessionManagement.cpp Meta: Remove empty LibSystem library and references 2024-06-04 07:45:42 +02:00
SessionManagement.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SharedCircularQueue.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Socket.cpp LibCore: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
Socket.h LibCore: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
SocketAddress.h LibCore: Support IPv6 for TCP and UDP connection 2024-07-05 14:26:22 -06:00
SOCKSProxyClient.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SOCKSProxyClient.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
StandardPaths.cpp Ladybird+LibCore+Meta: Update font paths and names for Android 2024-07-05 14:27:25 -06:00
StandardPaths.h LibCore: Add Music, Pictures and Videos user directory helpers 2024-02-05 16:30:52 +01:00
System.cpp LibCore: Use Error::from_syscall to report get/setrlimit errors 2024-07-31 10:12:37 -06:00
System.h LibCore: Add system call wrappers around getrlimit and setrlimit 2024-07-23 09:04:42 +02:00
SystemServerTakeover.cpp Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
SystemServerTakeover.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TCPServer.cpp AK+Lagom: Make it possible to build for iOS 2024-03-03 13:13:42 -07:00
TCPServer.h Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
ThreadedPromise.h Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
ThreadEventQueue.cpp LibCore: Fix some thread-related memory/object leaks 2024-06-26 05:47:16 +02:00
ThreadEventQueue.h Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
Timer.cpp LibCore: Stop obsessing about tiny OOMs in Core::Timer 2024-04-17 07:16:52 +02:00
Timer.h LibCore: Stop obsessing about tiny OOMs in Core::Timer 2024-04-17 07:16:52 +02:00
TimeZoneWatcher.h LibCore: Create a system time zone watcher 2024-08-25 09:47:42 +02:00
TimeZoneWatcherLinux.cpp LibCore: Create a system time zone watcher 2024-08-25 09:47:42 +02:00
TimeZoneWatcherMacOS.mm LibCore: Create a system time zone watcher 2024-08-25 09:47:42 +02:00
TimeZoneWatcherUnimplemented.cpp LibCore: Create a system time zone watcher 2024-08-25 09:47:42 +02:00
UDPServer.cpp Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
UDPServer.h Userland: Rename Core::Object to Core::EventReceiver 2023-08-06 20:39:51 +02:00
UmaskScope.h Everywhere: Fix order of includes and #pragma once 2022-09-18 18:30:05 -07:00
Version.cpp LibCore: Add a small library with only ArgsParser for DynamicLoader 2024-05-14 15:42:42 -06:00
Version.h LibCore+LibGUI+About: Use String in Core::Version and GUI::AboutDialog 2023-03-03 15:23:47 +01:00
VulkanContext.cpp Everywhere: Warn on function definitions without prototypes 2024-07-17 21:51:29 +02:00
VulkanContext.h LibWeb+LibCore: Use Vulkan backend for Skia on Linux 2024-07-05 07:13:13 +02:00