mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:37:36 +00:00
WindowServer: Simplify a few things in WSEventLoop.
This commit is contained in:
parent
94a5e08faf
commit
2af729a58a
2 changed files with 27 additions and 45 deletions
|
@ -1,35 +1,26 @@
|
|||
#pragma once
|
||||
|
||||
#include "WSEvent.h"
|
||||
#include <AK/HashMap.h>
|
||||
#include <AK/OwnPtr.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <AK/Function.h>
|
||||
#include <AK/WeakPtr.h>
|
||||
#include <LibCore/CEventLoop.h>
|
||||
|
||||
class CObject;
|
||||
class WSClientConnection;
|
||||
struct WSAPI_ClientMessage;
|
||||
struct WSAPI_ServerMessage;
|
||||
|
||||
class WSEventLoop : public CEventLoop {
|
||||
public:
|
||||
WSEventLoop();
|
||||
virtual ~WSEventLoop() override;
|
||||
|
||||
static WSEventLoop& the();
|
||||
|
||||
void on_receive_from_client(int client_id, const WSAPI_ClientMessage&);
|
||||
void notify_client_disconnected(int client_id);
|
||||
static WSEventLoop& the() { return static_cast<WSEventLoop&>(CEventLoop::current()); }
|
||||
|
||||
private:
|
||||
virtual void add_file_descriptors_for_select(fd_set&, int& max_fd_added) override;
|
||||
virtual void process_file_descriptors_after_select(const fd_set&) override;
|
||||
virtual void do_processing() override { }
|
||||
|
||||
void drain_server();
|
||||
void drain_mouse();
|
||||
void drain_keyboard();
|
||||
void drain_client(WSClientConnection&);
|
||||
void on_receive_from_client(int client_id, const WSAPI_ClientMessage&);
|
||||
|
||||
int m_keyboard_fd { -1 };
|
||||
int m_mouse_fd { -1 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue