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"