1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 02:27:43 +00:00

IPCCompiler: Use string hashes for IPC endpoint magic

This patch removes the IPC endpoint numbers that needed to be specified
in the IPC files.  Since the string hash is a (hopefully) collision free
number that depends on the name of the endpoint, we now use that
instead. :^)
This commit is contained in:
sin-ack 2021-04-25 08:04:17 +02:00 committed by Andreas Kling
parent f89c60664c
commit 59218007a3
25 changed files with 25 additions and 29 deletions

View file

@ -1,4 +1,4 @@
endpoint LanguageClient = 8002 endpoint LanguageClient
{ {
AutoCompleteSuggestions(Vector<GUI::AutocompleteProvider::Entry> suggestions) =| AutoCompleteSuggestions(Vector<GUI::AutocompleteProvider::Entry> suggestions) =|
DeclarationLocation(GUI::AutocompleteProvider::ProjectLocation location) =| DeclarationLocation(GUI::AutocompleteProvider::ProjectLocation location) =|

View file

@ -1,4 +1,4 @@
endpoint LanguageServer = 8001 endpoint LanguageServer
{ {
Greet(String project_root) => () Greet(String project_root) => ()

View file

@ -164,11 +164,7 @@ int main(int argc, char** argv)
lexer.consume_specific("endpoint"); lexer.consume_specific("endpoint");
consume_whitespace(); consume_whitespace();
endpoints.last().name = lexer.consume_while([](char ch) { return !isspace(ch); }); endpoints.last().name = lexer.consume_while([](char ch) { return !isspace(ch); });
consume_whitespace(); endpoints.last().magic = Traits<String>::hash(endpoints.last().name);
assert_specific('=');
consume_whitespace();
auto magic_string = lexer.consume_while([](char ch) { return !isspace(ch) && ch != '{'; });
endpoints.last().magic = magic_string.to_int().value();
consume_whitespace(); consume_whitespace();
assert_specific('{'); assert_specific('{');
parse_messages(); parse_messages();

View file

@ -1,4 +1,4 @@
endpoint AudioClient = 82 endpoint AudioClient
{ {
FinishedPlayingBuffer(i32 buffer_id) =| FinishedPlayingBuffer(i32 buffer_id) =|
MutedStateChanged(bool muted) =| MutedStateChanged(bool muted) =|

View file

@ -1,4 +1,4 @@
endpoint AudioServer = 85 endpoint AudioServer
{ {
// Basic protocol // Basic protocol
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint ClipboardClient = 804 endpoint ClipboardClient
{ {
ClipboardDataChanged([UTF8] String mime_type) =| ClipboardDataChanged([UTF8] String mime_type) =|
} }

View file

@ -1,4 +1,4 @@
endpoint ClipboardServer = 802 endpoint ClipboardServer
{ {
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint ImageDecoderClient = 7002 endpoint ImageDecoderClient
{ {
Dummy() =| Dummy() =|
} }

View file

@ -1,4 +1,4 @@
endpoint ImageDecoderServer = 7001 endpoint ImageDecoderServer
{ {
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint LaunchClient = 102 endpoint LaunchClient
{ {
Dummy() =| Dummy() =|
} }

View file

@ -1,4 +1,4 @@
endpoint LaunchServer = 101 endpoint LaunchServer
{ {
Greet() => () Greet() => ()
OpenURL(URL url, String handler_name) => (bool response) OpenURL(URL url, String handler_name) => (bool response)

View file

@ -1,4 +1,4 @@
endpoint LookupClient = 9002 endpoint LookupClient
{ {
Dummy() =| Dummy() =|
} }

View file

@ -1,4 +1,4 @@
endpoint LookupServer = 9001 endpoint LookupServer
{ {
LookupName(String name) => (int code, Vector<String> addresses) LookupName(String name) => (int code, Vector<String> addresses)
LookupAddress(String address) => (int code, String name) LookupAddress(String address) => (int code, String name)

View file

@ -1,4 +1,4 @@
endpoint NotificationClient = 92 endpoint NotificationClient
{ {
Dummy() =| Dummy() =|
} }

View file

@ -1,4 +1,4 @@
endpoint NotificationServer = 95 endpoint NotificationServer
{ {
// Basic protocol // Basic protocol
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint ProtocolClient = 13 endpoint ProtocolClient
{ {
// Download notifications // Download notifications
DownloadProgress(i32 download_id, Optional<u32> total_size, u32 downloaded_size) =| DownloadProgress(i32 download_id, Optional<u32> total_size, u32 downloaded_size) =|

View file

@ -1,4 +1,4 @@
endpoint ProtocolServer = 9 endpoint ProtocolServer
{ {
// Basic protocol // Basic protocol
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint SymbolClient = 4541511 endpoint SymbolClient
{ {
Dummy() =| Dummy() =|
} }

View file

@ -1,4 +1,4 @@
endpoint SymbolServer = 4541510 endpoint SymbolServer
{ {
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint WebContentClient = 90 endpoint WebContentClient
{ {
DidStartLoading(URL url) =| DidStartLoading(URL url) =|
DidFinishLoading(URL url) =| DidFinishLoading(URL url) =|

View file

@ -1,4 +1,4 @@
endpoint WebContentServer = 89 endpoint WebContentServer
{ {
Greet() => () Greet() => ()

View file

@ -1,4 +1,4 @@
endpoint WindowClient = 4 endpoint WindowClient
{ {
Paint(i32 window_id, Gfx::IntSize window_size, Vector<Gfx::IntRect> rects) =| Paint(i32 window_id, Gfx::IntSize window_size, Vector<Gfx::IntRect> rects) =|
MouseMove(i32 window_id, Gfx::IntPoint mouse_position, u32 button, u32 buttons, u32 modifiers, i32 wheel_delta, bool is_drag, Vector<String> mime_types) =| MouseMove(i32 window_id, Gfx::IntPoint mouse_position, u32 button, u32 buttons, u32 modifiers, i32 wheel_delta, bool is_drag, Vector<String> mime_types) =|

View file

@ -1,4 +1,4 @@
endpoint WindowManagerClient = 1872 endpoint WindowManagerClient
{ {
WindowRemoved(i32 wm_id, i32 client_id, i32 window_id) =| WindowRemoved(i32 wm_id, i32 client_id, i32 window_id) =|
WindowStateChanged(i32 wm_id, i32 client_id, i32 window_id, i32 parent_client_id, i32 parent_window_id, bool is_active, bool is_minimized, bool is_modal, bool is_frameless, i32 window_type, [UTF8] String title, Gfx::IntRect rect, i32 progress) =| WindowStateChanged(i32 wm_id, i32 client_id, i32 window_id, i32 parent_client_id, i32 parent_window_id, bool is_active, bool is_minimized, bool is_modal, bool is_frameless, i32 window_type, [UTF8] String title, Gfx::IntRect rect, i32 progress) =|

View file

@ -1,4 +1,4 @@
endpoint WindowManagerServer = 1871 endpoint WindowManagerServer
{ {
SetEventMask(u32 event_mask) => () SetEventMask(u32 event_mask) => ()
SetManagerWindow(i32 window_id) => () SetManagerWindow(i32 window_id) => ()

View file

@ -1,4 +1,4 @@
endpoint WindowServer = 2 endpoint WindowServer
{ {
Greet() => (Gfx::IntRect screen_rect, Core::AnonymousBuffer theme_buffer) Greet() => (Gfx::IntRect screen_rect, Core::AnonymousBuffer theme_buffer)