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 #include "xdgforeign.h"
0007 #include "event_queue.h"
0008 #include "wayland_pointer_p.h"
0009 #include "xdgforeign_p.h"
0010 
0011 #include <wayland-xdg-foreign-unstable-v2-client-protocol.h>
0012 
0013 #include <QDebug>
0014 
0015 namespace KWayland
0016 {
0017 namespace Client
0018 {
0019 XdgExporter::Private::Private()
0020 {
0021 }
0022 
0023 XdgExporter::Private::~Private()
0024 {
0025 }
0026 
0027 XdgExporter::XdgExporter(Private *p, QObject *parent)
0028     : QObject(parent)
0029     , d(p)
0030 {
0031 }
0032 
0033 XdgExporter::~XdgExporter()
0034 {
0035     release();
0036 }
0037 
0038 void XdgExporter::setup(zxdg_exporter_v2 *exporter)
0039 {
0040     d->setupV2(exporter);
0041 }
0042 
0043 void XdgExporter::release()
0044 {
0045     d->release();
0046 }
0047 
0048 void XdgExporter::destroy()
0049 {
0050     d->destroy();
0051 }
0052 
0053 XdgExporter::operator zxdg_exporter_v2 *()
0054 {
0055     return d->exporterV2();
0056 }
0057 
0058 XdgExporter::operator zxdg_exporter_v2 *() const
0059 {
0060     return d->exporterV2();
0061 }
0062 
0063 bool XdgExporter::isValid() const
0064 {
0065     return d->isValid();
0066 }
0067 
0068 void XdgExporter::setEventQueue(EventQueue *queue)
0069 {
0070     d->queue = queue;
0071 }
0072 
0073 EventQueue *XdgExporter::eventQueue()
0074 {
0075     return d->queue;
0076 }
0077 
0078 XdgExported *XdgExporter::exportTopLevel(Surface *surface, QObject *parent)
0079 {
0080     return d->exportTopLevelV2(surface, parent);
0081 }
0082 
0083 XdgImporter::Private::Private()
0084 {
0085 }
0086 
0087 XdgImporter::Private::~Private()
0088 {
0089 }
0090 
0091 XdgImporter::XdgImporter(Private *p, QObject *parent)
0092     : QObject(parent)
0093     , d(p)
0094 {
0095 }
0096 
0097 XdgImporter::~XdgImporter()
0098 {
0099     release();
0100 }
0101 
0102 void XdgImporter::setup(zxdg_importer_v2 *importer)
0103 {
0104     d->setupV2(importer);
0105 }
0106 
0107 void XdgImporter::release()
0108 {
0109     d->release();
0110 }
0111 
0112 void XdgImporter::destroy()
0113 {
0114     d->destroy();
0115 }
0116 
0117 XdgImporter::operator zxdg_importer_v2 *()
0118 {
0119     return d->importerV2();
0120 }
0121 
0122 XdgImporter::operator zxdg_importer_v2 *() const
0123 {
0124     return d->importerV2();
0125 }
0126 
0127 bool XdgImporter::isValid() const
0128 {
0129     return d->isValid();
0130 }
0131 
0132 void XdgImporter::setEventQueue(EventQueue *queue)
0133 {
0134     d->queue = queue;
0135 }
0136 
0137 EventQueue *XdgImporter::eventQueue()
0138 {
0139     return d->queue;
0140 }
0141 
0142 XdgImported *XdgImporter::importTopLevel(const QString &handle, QObject *parent)
0143 {
0144     Q_ASSERT(isValid());
0145     return d->importTopLevelV2(handle, parent);
0146 }
0147 
0148 XdgExported::XdgExported(Private *p, QObject *parent)
0149     : QObject(parent)
0150     , d(p)
0151 {
0152 }
0153 
0154 XdgExported::Private::Private(XdgExported *q)
0155     : q(q)
0156 {
0157 }
0158 
0159 XdgExported::Private::~Private()
0160 {
0161 }
0162 
0163 XdgExported::~XdgExported()
0164 {
0165     release();
0166 }
0167 
0168 void XdgExported::setup(zxdg_exported_v2 *exported)
0169 {
0170     d->setupV2(exported);
0171 }
0172 
0173 void XdgExported::release()
0174 {
0175     d->release();
0176 }
0177 
0178 void XdgExported::destroy()
0179 {
0180     d->destroy();
0181 }
0182 
0183 QString XdgExported::handle() const
0184 {
0185     return d->handle;
0186 }
0187 
0188 XdgExported::operator zxdg_exported_v2 *()
0189 {
0190     return d->exportedV2();
0191 }
0192 
0193 XdgExported::operator zxdg_exported_v2 *() const
0194 {
0195     return d->exportedV2();
0196 }
0197 
0198 bool XdgExported::isValid() const
0199 {
0200     return d->isValid();
0201 }
0202 
0203 XdgImported::Private::Private(XdgImported *q)
0204     : q(q)
0205 {
0206 }
0207 
0208 XdgImported::Private::~Private()
0209 {
0210 }
0211 
0212 XdgImported::XdgImported(Private *p, QObject *parent)
0213     : QObject(parent)
0214     , d(p)
0215 {
0216 }
0217 
0218 XdgImported::~XdgImported()
0219 {
0220     release();
0221 }
0222 
0223 void XdgImported::setup(zxdg_imported_v2 *imported)
0224 {
0225     d->setupV2(imported);
0226 }
0227 
0228 void XdgImported::release()
0229 {
0230     d->release();
0231 }
0232 
0233 void XdgImported::destroy()
0234 {
0235     d->destroy();
0236 }
0237 
0238 XdgImported::operator zxdg_imported_v2 *()
0239 {
0240     return d->importedV2();
0241 }
0242 
0243 XdgImported::operator zxdg_imported_v2 *() const
0244 {
0245     return d->importedV2();
0246 }
0247 
0248 bool XdgImported::isValid() const
0249 {
0250     return d->isValid();
0251 }
0252 
0253 void XdgImported::setParentOf(Surface *surface)
0254 {
0255     Q_ASSERT(isValid());
0256     d->setParentOf(surface);
0257 }
0258 
0259 }
0260 }
0261 
0262 #include "moc_xdgforeign.cpp"