Andreas Kling
8dd07c3075
IPCCompiler: Emit message parameter getters
...
For simplicity's sake, they are all "const type& name() const"
2019-08-03 17:24:47 +02:00
Andreas Kling
c255cedd7a
IPCCompiler: Make decode_message() return nullptr for unknown messages
2019-08-03 17:06:24 +02:00
Andreas Kling
925c8f42f8
IPCCompiler: Generate message decoding functions
...
An endpoint now knows how to decode a ByteBuffer into an IMessage.
2019-08-03 17:03:44 +02:00
Andreas Kling
659ddddd20
IPCCompiler: Emit IEndpoint::name() overrides
2019-08-03 16:44:27 +02:00
Andreas Kling
36b352554e
IPCCompiler: Emit message constructors + include ID in serialization
2019-08-03 16:35:49 +02:00
Andreas Kling
05e08afcd8
IPCCompiler: Generate getters for message ID's and message names
...
Each endpoint namespace will have an enum class MessageID where you can
find all of its messages.
2019-08-03 16:19:14 +02:00
Andreas Kling
fae3091999
IPCCompiler: Typedef the response message types as "ResponseType"
...
Each message will now have a typedef called ResponseType as an alias
for the expected response type. This will aid in implementing the sync
messaging code.
2019-08-03 16:06:40 +02:00
Andreas Kling
016335edde
IPCCompiler: Generate endpoint and message classes
...
These are not entirely finished but it's starting to take shape. :^)
2019-08-03 15:50:16 +02:00
Andreas Kling
aa8a3d4a89
IPCCompiler: Start working on a simple IPC definition language
...
Instead of doing everything manually in C++, let's do some codegen.
This patch adds a crude but effective IPC definition parser, along
with two initial definition files for the AudioServer's client and
server endpoints.
2019-08-03 15:17:41 +02:00