File indexing completed on 2024-05-19 16:35:25
0001 /* 0002 SPDX-FileCopyrightText: 2020 David Edmundson <davidedmundson@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 "kwin_export.h" 0009 0010 #include <QObject> 0011 #include <memory> 0012 0013 namespace KWaylandServer 0014 { 0015 class Display; 0016 class PrimarySelectionSourceV1Interface; 0017 class PrimarySelectionDeviceManagerV1InterfacePrivate; 0018 class PrimarySelectionDeviceV1Interface; 0019 0020 /** 0021 * @brief Represents the Global for zwp_primary_selection_manager_v1 interface. 0022 * 0023 */ 0024 class KWIN_EXPORT PrimarySelectionDeviceManagerV1Interface : public QObject 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit PrimarySelectionDeviceManagerV1Interface(Display *display, QObject *parent = nullptr); 0030 ~PrimarySelectionDeviceManagerV1Interface(); 0031 0032 Q_SIGNALS: 0033 void dataSourceCreated(KWaylandServer::PrimarySelectionSourceV1Interface *dataSource); 0034 void dataDeviceCreated(KWaylandServer::PrimarySelectionDeviceV1Interface *dataDevice); 0035 0036 private: 0037 std::unique_ptr<PrimarySelectionDeviceManagerV1InterfacePrivate> d; 0038 }; 0039 0040 }