summaryrefslogtreecommitdiff
path: root/Servers/WindowServer/WSEventLoop.h
blob: 84a5558d9705290e0988605cab3958993a800113 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <AK/ByteBuffer.h>
#include <LibCore/CEventLoop.h>
#include <LibCore/CLocalServer.h>
#include <LibCore/CNotifier.h>

class WSClientConnection;

class WSEventLoop {
public:
    WSEventLoop();
    virtual ~WSEventLoop();

    int exec() { return m_event_loop.exec(); }

private:
    void drain_mouse();
    void drain_keyboard();

    CEventLoop m_event_loop;
    int m_keyboard_fd { -1 };
    RefPtr<CNotifier> m_keyboard_notifier;
    int m_mouse_fd { -1 };
    RefPtr<CNotifier> m_mouse_notifier;
    RefPtr<CLocalServer> m_server;
};