File indexing completed on 2024-12-22 05:09:25

0001 /*
0002     SPDX-FileCopyrightText: 2017 Marco Martin <notmart@gmail.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 #ifndef KWAYLAND_CLIENT_XDGFOREIGN_P_H
0007 #define KWAYLAND_CLIENT_XDGFOREIGN_P_H
0008 
0009 #include "xdgforeign.h"
0010 #include <QObject>
0011 
0012 namespace KWayland
0013 {
0014 namespace Client
0015 {
0016 
0017 class Q_DECL_HIDDEN XdgExporter::Private
0018 {
0019 public:
0020     Private();
0021     virtual ~Private();
0022 
0023     virtual XdgExported *exportTopLevelV2(Surface *surface, QObject *parent) = 0;
0024 
0025     virtual void setupV2(zxdg_exporter_v2 *arg) = 0;
0026     virtual zxdg_exporter_v2 *exporterV2() = 0;
0027 
0028     virtual void release() = 0;
0029     virtual void destroy() = 0;
0030     virtual bool isValid() = 0;
0031 
0032     EventQueue *queue = nullptr;
0033 };
0034 
0035 class Q_DECL_HIDDEN XdgImporter::Private
0036 {
0037 public:
0038     Private();
0039     virtual ~Private();
0040 
0041     virtual XdgImported *importTopLevelV2(const QString &handle, QObject *parent) = 0;
0042 
0043     virtual void setupV2(zxdg_importer_v2 *arg) = 0;
0044     virtual zxdg_importer_v2 *importerV2() = 0;
0045 
0046     virtual void release() = 0;
0047     virtual void destroy() = 0;
0048     virtual bool isValid() = 0;
0049 
0050     EventQueue *queue = nullptr;
0051 };
0052 
0053 class Q_DECL_HIDDEN XdgExported::Private
0054 {
0055 public:
0056     Private(XdgExported *q);
0057     virtual ~Private();
0058 
0059     virtual void setupV2(zxdg_exported_v2 *) = 0;
0060     virtual zxdg_exported_v2 *exportedV2() = 0;
0061 
0062     virtual void release() = 0;
0063     virtual void destroy() = 0;
0064     virtual bool isValid() = 0;
0065 
0066     QString handle;
0067 
0068 protected:
0069     XdgExported *q;
0070 };
0071 
0072 class Q_DECL_HIDDEN XdgImported::Private
0073 {
0074 public:
0075     Private(XdgImported *q);
0076     virtual ~Private();
0077 
0078     virtual void setupV2(zxdg_imported_v2 *) = 0;
0079     virtual zxdg_imported_v2 *importedV2() = 0;
0080 
0081     virtual void setParentOf(Surface *surface) = 0;
0082     virtual void release() = 0;
0083     virtual void destroy() = 0;
0084     virtual bool isValid() = 0;
0085 
0086 protected:
0087     XdgImported *q;
0088 };
0089 
0090 }
0091 }
0092 
0093 #endif