serenity/Servers/WindowServer/WSEventLoop.h
Robin Burchell 0dc9af5f7e Add clang-format file
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00

29 lines
813 B
C++

#pragma once
#include <AK/ByteBuffer.h>
#include <LibCore/CEventLoop.h>
class WSClientConnection;
struct WSAPI_ClientMessage;
class WSEventLoop : public CEventLoop {
public:
WSEventLoop();
virtual ~WSEventLoop() override;
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;
void drain_server();
void drain_mouse();
void drain_keyboard();
void drain_client(WSClientConnection&);
bool on_receive_from_client(int client_id, const WSAPI_ClientMessage&, ByteBuffer&& extra_data);
int m_keyboard_fd { -1 };
int m_mouse_fd { -1 };
int m_server_fd { -1 };
};