File indexing completed on 2024-05-19 05:32:33
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 KWin 0014 { 0015 class Display; 0016 class DataControlSourceV1Interface; 0017 class DataControlDeviceManagerV1InterfacePrivate; 0018 class DataControlDeviceV1Interface; 0019 0020 /** 0021 * The DataControlDeviceManagerV1Interface provides a way for privileged clients such as clipboard 0022 * managers to manage the current selection. 0023 * 0024 * DataControlDeviceManagerV1Interface corresponds to the Wayland interface @c zwlr_data_control_manager_v1. 0025 */ 0026 class KWIN_EXPORT DataControlDeviceManagerV1Interface : public QObject 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit DataControlDeviceManagerV1Interface(Display *display, QObject *parent = nullptr); 0032 ~DataControlDeviceManagerV1Interface() override; 0033 0034 Q_SIGNALS: 0035 void dataSourceCreated(KWin::DataControlSourceV1Interface *dataSource); 0036 void dataDeviceCreated(KWin::DataControlDeviceV1Interface *dataDevice); 0037 0038 private: 0039 std::unique_ptr<DataControlDeviceManagerV1InterfacePrivate> d; 0040 }; 0041 0042 }