1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:27:35 +00:00

WindowServer: Refactor WSClientConnection to have one function per request.

This is a lot nicer than the big switch full of code. This stuff has a bit
of a "please generate me instead" vibe to it, but I need to mess around with
it some more to figure out what the needs are.

This patch also unbreaks global cursor tracking, which was forgotten in the
big messaging refactoring.
This commit is contained in:
Andreas Kling 2019-02-14 08:43:29 +01:00
parent aa7947c889
commit 28da956a12
4 changed files with 341 additions and 252 deletions

View file

@ -4,11 +4,11 @@
#include <AK/OwnPtr.h>
#include <AK/WeakPtr.h>
#include <WindowServer/WSMessageReceiver.h>
#include <WindowServer/WSMessage.h>
class WSWindow;
class WSMenu;
class WSMenuBar;
class WSAPIClientRequest;
// FIXME: Remove.
class Process;
@ -30,7 +30,26 @@ public:
private:
virtual void on_message(WSMessage&) override;
void handle_client_request(WSAPIClientRequest&);
void on_request(WSAPIClientRequest&);
void handle_request(WSAPICreateMenubarRequest&);
void handle_request(WSAPIDestroyMenubarRequest&);
void handle_request(WSAPICreateMenuRequest&);
void handle_request(WSAPIDestroyMenuRequest&);
void handle_request(WSAPISetApplicationMenubarRequest&);
void handle_request(WSAPIAddMenuToMenubarRequest&);
void handle_request(WSAPIAddMenuItemRequest&);
void handle_request(WSAPIAddMenuSeparatorRequest&);
void handle_request(WSAPISetWindowTitleRequest&);
void handle_request(WSAPIGetWindowTitleRequest&);
void handle_request(WSAPISetWindowRectRequest&);
void handle_request(WSAPIGetWindowRectRequest&);
void handle_request(WSAPICreateWindowRequest&);
void handle_request(WSAPIDestroyWindowRequest&);
void handle_request(WSAPIInvalidateRectRequest&);
void handle_request(WSAPIDidFinishPaintingNotification&);
void handle_request(WSAPIGetWindowBackingStoreRequest&);
void handle_request(WSAPIReleaseWindowBackingStoreRequest&);
void handle_request(WSAPISetGlobalCursorTrackingRequest&);
int m_client_id { 0 };