1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-21 00:11:00 +00:00
serenity/Libraries/LibGUI
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
..
GAboutDialog.cpp
GAboutDialog.h
GAbstractButton.cpp
GAbstractButton.h
GAbstractView.cpp
GAbstractView.h
GAction.cpp
GAction.h
GActionGroup.cpp
GActionGroup.h
GApplication.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GApplication.h
GBoxLayout.cpp
GBoxLayout.h
GButton.cpp
GButton.h
GCheckBox.cpp
GCheckBox.h
GClipboard.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GClipboard.h
GComboBox.cpp
GComboBox.h
GCommand.cpp
GCommand.h
GDesktop.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GDesktop.h
GDialog.cpp
GDialog.h
GDirectoryModel.cpp
GDirectoryModel.h
GEvent.h
GFilePicker.cpp
GFilePicker.h
GFileSystemModel.cpp
GFileSystemModel.h
GFontDatabase.cpp
GFontDatabase.h
GFrame.cpp
GFrame.h
GGroupBox.cpp
GGroupBox.h
GIcon.cpp
GIcon.h
GInputBox.cpp
GInputBox.h
GItemView.cpp
GItemView.h
GJsonArrayModel.cpp
GJsonArrayModel.h
GLabel.cpp
GLabel.h
GLayout.cpp
GLayout.h
GLazyWidget.cpp
GLazyWidget.h
GListView.cpp
GListView.h
GMargins.h
GMenu.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GMenu.h
GMenuBar.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GMenuBar.h
GMenuItem.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GMenuItem.h
GMessageBox.cpp
GMessageBox.h
GModel.cpp
GModel.h
GModelEditingDelegate.h
GModelIndex.h
GModelSelection.cpp
GModelSelection.h
GPainter.cpp
GPainter.h
GProgressBar.cpp
GProgressBar.h
GRadioButton.cpp
GRadioButton.h
GResizeCorner.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GResizeCorner.h
GScrollableWidget.cpp
GScrollableWidget.h
GScrollBar.cpp
GScrollBar.h
GShortcut.cpp
GShortcut.h
GSlider.cpp
GSlider.h
GSortingProxyModel.cpp
GSortingProxyModel.h
GSpinBox.cpp
GSpinBox.h
GSplitter.cpp
GSplitter.h
GStackWidget.cpp
GStackWidget.h
GStatusBar.cpp
GStatusBar.h
GTableView.cpp
GTableView.h
GTabWidget.cpp
GTabWidget.h
GTextBox.cpp
GTextBox.h
GTextDocument.cpp
GTextDocument.h
GTextEditor.cpp GTextEditor: Don't assert is_readonly() in did_change() 2019-11-30 19:11:31 +01:00
GTextEditor.h
GTextPosition.h
GTextRange.h
GToolBar.cpp
GToolBar.h
GTreeView.cpp
GTreeView.h
GUndoStack.cpp
GUndoStack.h
GVariant.cpp
GVariant.h
GWidget.cpp
GWidget.h
GWindow.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GWindow.h
GWindowServerConnection.cpp WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GWindowServerConnection.h WindowServer: Port to the new IPC system 2019-12-02 11:11:05 +01:00
GWindowType.h
install.sh
Makefile