// Copyright (C) 2018 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QINTERNALMIMEDATA_P_H #define QINTERNALMIMEDATA_P_H // // W A R N I N G // ------------- // // This file is not part of the Qt API. It exists for the convenience // of other Qt classes. This header file may change from version to // version without notice, or even be removed. // // We mean it. // #include #include #include #include #include #include QT_BEGIN_NAMESPACE class QEventLoop; class QMouseEvent; class QPlatformDrag; class Q_GUI_EXPORT QInternalMimeData : public QMimeData { Q_OBJECT public: QInternalMimeData(); ~QInternalMimeData(); bool hasFormat(const QString &mimeType) const override; QStringList formats() const override; static bool canReadData(const QString &mimeType); static QStringList formatsHelper(const QMimeData *data); static bool hasFormatHelper(const QString &mimeType, const QMimeData *data); static QByteArray renderDataHelper(const QString &mimeType, const QMimeData *data); protected: QVariant retrieveData(const QString &mimeType, QMetaType type) const override; virtual bool hasFormat_sys(const QString &mimeType) const = 0; virtual QStringList formats_sys() const = 0; virtual QVariant retrieveData_sys(const QString &mimeType, QMetaType type) const = 0; }; QT_END_NAMESPACE #endif // QINTERNALMIMEDATA_P_H