diff options
Diffstat (limited to 'src/plugins/platforms/wayland_common/qwaylanddataoffer.cpp')
-rw-r--r-- | src/plugins/platforms/wayland_common/qwaylanddataoffer.cpp | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/src/plugins/platforms/wayland_common/qwaylanddataoffer.cpp b/src/plugins/platforms/wayland_common/qwaylanddataoffer.cpp deleted file mode 100644 index e237d0b9a..000000000 --- a/src/plugins/platforms/wayland_common/qwaylanddataoffer.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qwaylanddataoffer.h" -#include "qwaylanddatadevicemanager.h" - -#include <QtCore/private/qcore_unix_p.h> -#include <QtGui/private/qguiapplication_p.h> -#include <qpa/qplatformclipboard.h> - -#include <QtCore/QDebug> - -QT_BEGIN_NAMESPACE - -QWaylandDataOffer::QWaylandDataOffer(QWaylandDisplay *display, struct ::wl_data_offer *offer) - : QtWayland::wl_data_offer(offer) - , m_mimeData(new QWaylandMimeData(this, display)) -{ -} - -QWaylandDataOffer::~QWaylandDataOffer() -{ - destroy(); -} - - -QString QWaylandDataOffer::firstFormat() const -{ - if (m_mimeData->formats().isEmpty()) - return QString(); - - return m_mimeData->formats().first(); -} - -QMimeData *QWaylandDataOffer::mimeData() -{ - return m_mimeData.data(); -} - -void QWaylandDataOffer::data_offer_offer(const QString &mime_type) -{ - m_mimeData->appendFormat(mime_type); -} - -QWaylandMimeData::QWaylandMimeData(QWaylandDataOffer *dataOffer, QWaylandDisplay *display) - : QInternalMimeData() - , m_dataOffer(dataOffer) - , m_display(display) - , m_offered_mime_types() -{ -} - -QWaylandMimeData::~QWaylandMimeData() -{ -} - -void QWaylandMimeData::appendFormat(const QString &mimeType) -{ - m_offered_mime_types.append(mimeType); -} - -bool QWaylandMimeData::hasFormat_sys(const QString &mimeType) const -{ - return m_offered_mime_types.contains(mimeType); -} - -QStringList QWaylandMimeData::formats_sys() const -{ - return m_offered_mime_types; -} - -QVariant QWaylandMimeData::retrieveData_sys(const QString &mimeType, QVariant::Type type) const -{ - Q_UNUSED(type); - - if (m_offered_mime_types.isEmpty()) - return QVariant(); - - int pipefd[2]; - if (qt_safe_pipe(pipefd, O_CLOEXEC) == -1) { - qWarning("QWaylandMimeData: pipe() failed"); - return QVariant(); - } - - m_dataOffer->receive(mimeType, pipefd[1]); - close(pipefd[1]); - -// m_display->forceRoundTrip(); - - QByteArray content; - char buf[4096]; - int n; - while ((n = QT_READ(pipefd[0], &buf, sizeof buf)) > 0) { - content.append(buf, n); - } - close(pipefd[0]); - - return content; -} - -QT_END_NAMESPACE |