ladybird/Libraries/LibCore
Andreas Kling e6db1b81b8 AudioServer: Begin work on a new IPC API style.
The goal here is to generate most of this code from IPC protocol
descriptions, but for now I've spelled them all out to get started.

Each message gets a wrapper class in the ASAPI_Client or ASAPI_Server
namespace. They are convertible to and from the old message structs.

The real hotness happens when you want to make a synchronous request
to the other side:

    auto response = send_sync<ASAPI_Client::GetMainMixVolume>();

Each request class knows his corresponding response class, so in the
above example, "response" will be an ASAPI_Server::DidGetMainMixVolume
object, and we can get the volume like so:

    int volume = response.volume();

For posting messages that don't expect a response, you can still use
post_message() since the message classes are convertible:

    post_message(ASAPI_Server::DidGetMainMixVolume(volume));

It's not perfect yet, but I already really like it. :^)
2019-07-29 22:39:20 +02:00
..
CArgsParser.cpp AK: Make HashMap::get(Key) return an Optional<Value>. 2019-07-24 10:25:43 +02:00
CArgsParser.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CConfigFile.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CConfigFile.h LibDraw: Introduce (formerly known as SharedGraphics.) 2019-07-18 10:18:16 +02:00
CDirIterator.cpp CDirIterator: Fix another instance of StringView::characters() misuse. 2019-07-08 14:03:19 +02:00
CDirIterator.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +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 Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CEvent.h CNotifier: Turn into a CObject and Use the event queue to deliver events 2019-07-16 20:47:32 +02:00
CEventLoop.cpp CEventLoop: Convert dbgprintf() to dbg(). 2019-07-26 16:00:56 +02:00
CEventLoop.h Convert HashMap<Key, OwnPtr<T>> to HashMap<Key, NonnullOwnPtr<T>>. 2019-07-24 08:42:55 +02:00
CFile.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CFile.h LibCore: Introduce a C_OBJECT macro. 2019-07-25 19:49:28 +02:00
CFileStreamReader.h LibCore: Add CFileStreamReader, a simple streaming CFile reader. 2019-07-27 16:38:44 +02:00
CHttpJob.cpp AK: Make HashMap::get(Key) return an Optional<Value>. 2019-07-24 10:25:43 +02:00
CHttpJob.h LibCore: Introduce a C_OBJECT macro. 2019-07-25 19:49:28 +02:00
CHttpRequest.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CHttpRequest.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CHttpResponse.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CHttpResponse.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CIODevice.cpp LibCore: Add CFileStreamReader, a simple streaming CFile reader. 2019-07-27 16:38:44 +02:00
CIODevice.h LibCore: Add CFileStreamReader, a simple streaming CFile reader. 2019-07-27 16:38:44 +02:00
CLocalServer.cpp LibCore: Add CLocalServer, a server-only local socket class. 2019-07-27 10:32:40 +02:00
CLocalServer.h LibCore: Add CLocalServer, a server-only local socket class. 2019-07-27 10:32:40 +02:00
CLocalSocket.cpp LibCore: Remove CSocket's bind() and listen(). 2019-07-27 10:58:21 +02:00
CLocalSocket.h LibCore: Remove CSocket's bind() and listen(). 2019-07-27 10:58:21 +02:00
CLock.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CNetworkJob.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CNetworkJob.h LibCore: Introduce a C_OBJECT macro. 2019-07-25 19:49:28 +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 CNotifier: Turn into a CObject and Use the event queue to deliver events 2019-07-16 20:47:32 +02:00
CNotifier.h LibCore: Introduce a C_OBJECT macro. 2019-07-25 19:49:28 +02:00
CObject.cpp CObject: Add custom_event() virtual. 2019-07-14 10:27:27 +02:00
CObject.h LibCore: Add comment about child events for partially-constructed children. 2019-07-27 09:31:46 +02:00
CoreIPCClient.h AudioServer: Begin work on a new IPC API style. 2019-07-29 22:39:20 +02:00
CoreIPCServer.h LibCore: Port CoreIPCServer to using CLocalServer. 2019-07-27 10:53:50 +02:00
CProcessStatisticsReader.cpp Kernel+ProcessManager: Let processes have an icon and show it in the table. 2019-07-29 07:26:01 +02:00
CProcessStatisticsReader.h Kernel+ProcessManager: Let processes have an icon and show it in the table. 2019-07-29 07:26:01 +02:00
CSocket.cpp LibCore: Remove CSocket's bind() and listen(). 2019-07-27 10:58:21 +02:00
CSocket.h LibCore: Remove CSocket's bind() and listen(). 2019-07-27 10:58:21 +02:00
CSocketAddress.h LibCore: Add CSocket::bind() (virtual) and CSocket::listen(). 2019-07-26 22:39:16 +02:00
CSyscallUtils.h Userspace: Deal with select() returning EINTR on a signal interruption 2019-07-21 14:27:14 +02:00
CTCPSocket.cpp LibCore: Remove CSocket's bind() and listen(). 2019-07-27 10:58:21 +02:00
CTCPSocket.h LibCore: Remove CSocket's bind() and listen(). 2019-07-27 10:58:21 +02:00
CThread.cpp LibCore: Only build CThread on Serenity platforms. 2019-07-25 11:47:53 +02:00
CThread.h LibCore: Only build CThread on Serenity platforms. 2019-07-25 11:47:53 +02:00
CTimer.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CTimer.h LibCore: Introduce a C_OBJECT macro. 2019-07-25 19:49:28 +02:00
CUserInfo.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
CUserInfo.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
install.sh Libraries: Fix wrong paths to "Root" in the various install.sh scripts. 2019-07-21 21:38:30 +02:00
Makefile LibCore: Add CLocalServer, a server-only local socket class. 2019-07-27 10:32:40 +02:00