1/*
2 SPDX-FileCopyrightText: 2017 Marco Martin <notmart@gmail.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6#ifndef KWAYLAND_CLIENT_XDGFOREIGN_P_H
7#define KWAYLAND_CLIENT_XDGFOREIGN_P_H
8
9#include "xdgforeign.h"
10#include <QObject>
11
12namespace KWayland
13{
14namespace Client
15{
16
17class Q_DECL_HIDDEN XdgExporter::Private
18{
19public:
20 Private();
21 virtual ~Private();
22
23 virtual XdgExported *exportTopLevelV2(Surface *surface, QObject *parent) = 0;
24
25 virtual void setupV2(zxdg_exporter_v2 *arg) = 0;
26 virtual zxdg_exporter_v2 *exporterV2() = 0;
27
28 virtual void release() = 0;
29 virtual void destroy() = 0;
30 virtual bool isValid() = 0;
31
32 EventQueue *queue = nullptr;
33};
34
35class Q_DECL_HIDDEN XdgImporter::Private
36{
37public:
38 Private();
39 virtual ~Private();
40
41 virtual XdgImported *importTopLevelV2(const QString &handle, QObject *parent) = 0;
42
43 virtual void setupV2(zxdg_importer_v2 *arg) = 0;
44 virtual zxdg_importer_v2 *importerV2() = 0;
45
46 virtual void release() = 0;
47 virtual void destroy() = 0;
48 virtual bool isValid() = 0;
49
50 EventQueue *queue = nullptr;
51};
52
53class Q_DECL_HIDDEN XdgExported::Private
54{
55public:
56 Private(XdgExported *q);
57 virtual ~Private();
58
59 virtual void setupV2(zxdg_exported_v2 *) = 0;
60 virtual zxdg_exported_v2 *exportedV2() = 0;
61
62 virtual void release() = 0;
63 virtual void destroy() = 0;
64 virtual bool isValid() = 0;
65
66 QString handle;
67
68protected:
69 XdgExported *q;
70};
71
72class Q_DECL_HIDDEN XdgImported::Private
73{
74public:
75 Private(XdgImported *q);
76 virtual ~Private();
77
78 virtual void setupV2(zxdg_imported_v2 *) = 0;
79 virtual zxdg_imported_v2 *importedV2() = 0;
80
81 virtual void setParentOf(Surface *surface) = 0;
82 virtual void release() = 0;
83 virtual void destroy() = 0;
84 virtual bool isValid() = 0;
85
86protected:
87 XdgImported *q;
88};
89
90}
91}
92
93#endif
94

source code of kwayland/src/client/xdgforeign_p.h