File indexing completed on 2024-05-12 17:00:18

0001 /*
0002     SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "waylandxdgactivationv1_p.h"
0008 
0009 WaylandXdgActivationV1::WaylandXdgActivationV1(wl_registry *registry, uint32_t id, uint32_t availableVersion)
0010     : QtWayland::xdg_activation_v1(registry, id, qMin(availableVersion, 1u))
0011 {
0012 }
0013 
0014 WaylandXdgActivationV1::~WaylandXdgActivationV1()
0015 {
0016     Q_ASSERT(isInitialized());
0017     destroy();
0018 }
0019 
0020 WaylandXdgActivationTokenV1 *
0021 WaylandXdgActivationV1::requestXdgActivationToken(wl_seat *seat, struct ::wl_surface *surface, uint32_t serial, const QString &app_id)
0022 {
0023     auto wl = get_activation_token();
0024     auto provider = new WaylandXdgActivationTokenV1;
0025     provider->init(wl);
0026 
0027     if (surface)
0028         provider->set_surface(surface);
0029 
0030     if (!app_id.isEmpty())
0031         provider->set_app_id(app_id);
0032 
0033     if (seat)
0034         provider->set_serial(serial, seat);
0035     provider->commit();
0036     return provider;
0037 }