File indexing completed on 2024-05-19 16:35:19
0001 /* 0002 SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 #pragma once 0007 0008 #include "idle_interface.h" 0009 0010 #include <qwayland-server-idle.h> 0011 0012 #include <QTimer> 0013 0014 namespace KWaylandServer 0015 { 0016 class Display; 0017 class SeatInterface; 0018 class IdleTimeoutInterface; 0019 class IdleTimeoutInterface; 0020 0021 class IdleInterfacePrivate : public QtWaylandServer::org_kde_kwin_idle 0022 { 0023 public: 0024 IdleInterfacePrivate(Display *display); 0025 0026 protected: 0027 void org_kde_kwin_idle_get_idle_timeout(Resource *resource, uint32_t id, wl_resource *seat, uint32_t timeout) override; 0028 }; 0029 0030 class IdleTimeoutInterface : public QObject, public QtWaylandServer::org_kde_kwin_idle_timeout 0031 { 0032 Q_OBJECT 0033 0034 public: 0035 explicit IdleTimeoutInterface(std::chrono::milliseconds timeout, wl_resource *resource); 0036 0037 protected: 0038 void org_kde_kwin_idle_timeout_destroy_resource(Resource *resource) override; 0039 void org_kde_kwin_idle_timeout_release(Resource *resource) override; 0040 void org_kde_kwin_idle_timeout_simulate_user_activity(Resource *resource) override; 0041 }; 0042 0043 }