/* SPDX-FileCopyrightText: 2024 David Redondo SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL */ #pragma once #include #include #include #include #include #include namespace KWin { class EisBackend; struct EisClient; class EisContext { public: EisContext(EisBackend *backend, QFlags allowedCapabilities, int cookie, const QString &dbusService); ~EisContext(); int addClient(); void updateScreens(); void updateKeymap(); const int cookie; const QString dbusService; private: void handleEvents(); EisBackend *m_backend; eis *m_eisContext; QFlags m_allowedCapabilities; QSocketNotifier m_socketNotifier; std::vector> m_clients; }; }