File indexing completed on 2024-05-12 04:00:24

0001 /*
0002     SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef WAYLANDXDGACTIVATIONV1_P_H
0008 #define WAYLANDXDGACTIVATIONV1_P_H
0009 
0010 #include "qwayland-xdg-activation-v1.h"
0011 #include <QObject>
0012 #include <QtWaylandClient/QWaylandClientExtension>
0013 
0014 class QWaylandSurface;
0015 
0016 class WaylandXdgActivationTokenV1 : public QObject, public QtWayland::xdg_activation_token_v1
0017 {
0018     Q_OBJECT
0019 public:
0020     void xdg_activation_token_v1_done(const QString &token) override
0021     {
0022         Q_EMIT done(token);
0023     }
0024 
0025 Q_SIGNALS:
0026     void failed();
0027     void done(const QString &token);
0028 };
0029 
0030 class WaylandXdgActivationV1 : public QWaylandClientExtensionTemplate<WaylandXdgActivationV1>, public QtWayland::xdg_activation_v1
0031 {
0032 public:
0033     ~WaylandXdgActivationV1() override;
0034 
0035     static WaylandXdgActivationV1 *self();
0036 
0037     WaylandXdgActivationTokenV1 *requestXdgActivationToken(wl_seat *seat, struct ::wl_surface *surface, uint32_t serial, const QString &app_id);
0038 
0039 private:
0040     WaylandXdgActivationV1();
0041 };
0042 
0043 #endif