1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:58:12 +00:00
serenity/Libraries/LibCore
Andreas Kling 272d65e3e2 WindowServer: Port to the new IPC system
This patch introduces code generation for the WindowServer IPC with
its clients. The client/server endpoints are defined by the two .ipc
files in Servers/WindowServer/: WindowServer.ipc and WindowClient.ipc

It now becomes significantly easier to add features and capabilities
to WindowServer since you don't have to know nearly as much about all
the intricate paths that IPC messages take between LibGUI and WSWindow.

The new system also uses significantly less IPC bandwidth since we're
now doing packed serialization instead of passing fixed-sized structs
of ~600 bytes for each message.

Some repaint coalescing optimizations are lost in this conversion and
we'll need to look at how to implement those in the new world.

The old CoreIPC::Client::Connection and CoreIPC::Server::Connection
classes are removed by this patch and replaced by use of ConnectionNG,
which will be renamed eventually.

Goodbye, old WindowServer IPC. You served us well :^)
2019-12-02 11:11:05 +01:00
..
CArgsParser.cpp LibCore: Fix a crash in CArgsParser 2019-08-17 12:07:55 +02:00
CArgsParser.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
CConfigFile.cpp LibCore: Add CConfigFile::open() for opening an arbitrary INI file 2019-11-11 13:13:08 +01:00
CConfigFile.h LibCore: Add CConfigFile::open() for opening an arbitrary INI file 2019-11-11 13:13:08 +01:00
CDirIterator.cpp CDirIterator: Fix another instance of StringView::characters() misuse. 2019-07-08 14:03:19 +02:00
CDirIterator.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
CElapsedTimer.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CElapsedTimer.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CEvent.cpp LibCore+LibGUI: Allow inserting a CObject/GWidget before another 2019-11-05 20:41:27 +01:00
CEvent.h LibCore+LibGUI: Allow inserting a CObject/GWidget before another 2019-11-05 20:41:27 +01:00
CEventLoop.cpp LibCore: Assert instead of crashing in CEventLoop::current() 2019-11-26 19:58:25 +01:00
CEventLoop.h LibCore: Added unquit() method to CEventLoop. 2019-10-25 15:29:19 +02:00
CFile.cpp LibCore: Make CFile::open() truncate when opening something "WriteOnly" 2019-11-26 14:32:59 +01:00
CFile.h LibCore: Convert CFile to ObjectPtr 2019-09-21 20:50:06 +02:00
CGzip.cpp LibCore: Move puff() from LibDraw to LibCore 2019-11-23 23:43:37 +01:00
CGzip.h LibCore: Rename class Gzip -> CGZip 2019-11-10 12:52:23 +01:00
CHttpJob.cpp Lagom: Fix build 2019-11-19 11:14:26 +01:00
CHttpJob.h LibCore: Remove ObjectPtr in favor of RefPtr 2019-09-22 00:31:54 +02:00
CHttpRequest.cpp LibCore: Remove ObjectPtr in favor of RefPtr 2019-09-22 00:31:54 +02:00
CHttpRequest.h LibCore: Remove ObjectPtr in favor of RefPtr 2019-09-22 00:31:54 +02:00
CHttpResponse.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CHttpResponse.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
CIODevice.cpp ByteBuffer: Remove pointer() in favor of data() 2019-09-30 08:57:01 +02:00
CIODevice.h CIODevice: Add is_open() 2019-09-04 15:13:55 +02:00
CIODeviceStreamReader.h LibCore: Rename CFileStreamReader => CIODeviceStreamReader. 2019-07-30 15:16:39 +02:00
CLocalServer.cpp SystemServer+LibCore: Implement socket takeover 2019-11-26 19:58:25 +01:00
CLocalServer.h SystemServer+LibCore: Implement socket takeover 2019-11-26 19:58:25 +01:00
CLocalSocket.cpp CSocket: Don't create the read notifier until after we've connected 2019-09-22 21:46:46 +02:00
CLocalSocket.h LibCore: Convert CLocalSocket to ObjectPtr 2019-09-21 15:25:08 +02:00
CNetworkJob.cpp LibCore: Have CNetworkJob protect itself during the on_finish callback 2019-11-23 21:42:02 +01:00
CNetworkJob.h LibCore: Make it possible to cancel pending CNetworkJobs 2019-09-21 17:32:26 +02:00
CNetworkResponse.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CNetworkResponse.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CNotifier.cpp LibCore: Make CSocket's notifiers into children of the CSocket 2019-08-18 11:54:39 +02:00
CNotifier.h LibCore: Remove ObjectPtr in favor of RefPtr 2019-09-22 00:31:54 +02:00
CObject.cpp LibCore+LibGUI: Allow inserting a CObject/GWidget before another 2019-11-05 20:41:27 +01:00
CObject.h LibCore+LibGUI: Allow inserting a CObject/GWidget before another 2019-11-05 20:41:27 +01:00
CoreIPCClient.h WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
CoreIPCServer.h WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
CProcessStatisticsReader.cpp Kernel+SystemMonitor: Log amounts of I/O per thread 2019-12-01 17:40:27 +01:00
CProcessStatisticsReader.h Kernel+SystemMonitor: Log amounts of I/O per thread 2019-12-01 17:40:27 +01:00
CSocket.cpp ByteBuffer: Remove pointer() in favor of data() 2019-09-30 08:57:01 +02:00
CSocket.h CSocket: Don't create the read notifier until after we've connected 2019-09-22 21:46:46 +02:00
CSocketAddress.h LibCore: Initialise m_port as zero in CSocketAddress 2019-08-06 15:06:20 +02:00
CSyscallUtils.h LibCore: Improve logging of errors in safe_syscall() somewhat 2019-12-01 16:47:28 +01:00
CTCPServer.cpp LibCore: Make CTCPServer's local address/port getters return Optionals 2019-11-04 13:07:41 +01:00
CTCPServer.h LibCore: Make CTCPServer's local address/port getters return Optionals 2019-11-04 13:07:41 +01:00
CTCPSocket.cpp CSocket: Don't create the read notifier until after we've connected 2019-09-22 21:46:46 +02:00
CTCPSocket.h LibCore: Convert CTCPSocket to ObjectPtr, add construct() helper 2019-09-21 15:25:08 +02:00
CTimer.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CTimer.h LibCore: Remove ObjectPtr in favor of RefPtr 2019-09-22 00:31:54 +02:00
CUserInfo.cpp LibCore: Make get_current_user_home_path() return String & close passwd 2019-08-03 08:32:07 +02:00
CUserInfo.h AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
install.sh POSIX compliance: (most) shell scripts converted to generic shell 2019-11-03 09:26:22 +01:00
Makefile LibCore: Add a gzip implementation 2019-11-10 12:52:23 +01:00
puff.c LibCore: Move puff() from LibDraw to LibCore 2019-11-23 23:43:37 +01:00
puff.h LibCore: Move puff() from LibDraw to LibCore 2019-11-23 23:43:37 +01:00