File indexing completed on 2024-05-19 05:32:35

0001 /*
0002     SPDX-FileCopyrightText: 2017 Martin Flöser <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 "idleinhibit_v1.h"
0009 
0010 #include <qwayland-server-idle-inhibit-unstable-v1.h>
0011 
0012 namespace KWin
0013 {
0014 class IdleInhibitManagerV1InterfacePrivate : public QtWaylandServer::zwp_idle_inhibit_manager_v1
0015 {
0016 public:
0017     IdleInhibitManagerV1InterfacePrivate(IdleInhibitManagerV1Interface *_q, Display *display);
0018 
0019     IdleInhibitManagerV1Interface *q;
0020 
0021 protected:
0022     void zwp_idle_inhibit_manager_v1_destroy(Resource *resource) override;
0023     void zwp_idle_inhibit_manager_v1_create_inhibitor(Resource *resource, uint32_t id, wl_resource *surface) override;
0024 };
0025 
0026 class IdleInhibitorV1Interface : public QObject, QtWaylandServer::zwp_idle_inhibitor_v1
0027 {
0028     Q_OBJECT
0029 public:
0030     explicit IdleInhibitorV1Interface(wl_resource *resource);
0031     ~IdleInhibitorV1Interface() override;
0032 
0033 protected:
0034     void zwp_idle_inhibitor_v1_destroy_resource(Resource *resource) override;
0035     void zwp_idle_inhibitor_v1_destroy(Resource *resource) override;
0036 };
0037 
0038 }