16class CClipboardMimeData :
public QMimeData
20 explicit CClipboardMimeData(CliprdrClientContext* pContext);
21 virtual ~CClipboardMimeData();
23 const qint32 GetId()
const;
30 int SetFormat(
const CLIPRDR_FORMAT_LIST* pList);
33 void sigSendDataRequest(CliprdrClientContext* context,
34 UINT32 formatId)
const;
38 virtual bool hasFormat(
const QString &mimetype)
const override;
39 virtual QStringList formats()
const override;
43 void slotServerFileContentsRespose(UINT32 streamId, QByteArray& data);
46#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
47 virtual QVariant retrieveData(
const QString &mimeType, QMetaType preferredType)
const override;
49 virtual QVariant retrieveData(
const QString &mimeType, QVariant::Type preferredType)
const override;
53 int AddFormat(UINT32
id,
const char *name);
55 bool isText(QString mimeType,
bool bRegular =
true)
const;
56 bool isHtml(QString mimeType,
bool bRegular =
true)
const;
57 bool isImage(QString mimeType,
bool bRegular =
true)
const;
58 bool isUrls(QString mimeType,
bool bRegular =
true)
const;
61 void sigRequestFileFromServer(
const QString& mimetype,
const QString& valueName,
62 const void* pData,
const UINT32 nLen)
const;
64 void slotRequestFileFromServer(
const QString& mimeType,
const QString& valueName,
65 const void* pData,
const UINT32 nLen);
67 UINT sendRequestFilecontents(UINT32 listIndex,
73 friend CClipboardFreeRDP;
75 static QAtomicInteger<qint32> m_nId;
78 CliprdrClientContext* m_pContext;
79 wClipboard* m_pClipboard;
81 QVector<_FORMAT> m_Formats;
82 QMultiMap<QString, _FORMAT> m_indexString;
83 QMap<UINT32, _FORMAT> m_indexId;
84 QStringList m_lstFormats;
87 QVariant m_gnomeFiles;
97 QMap<UINT32, QSharedPointer<_CliprdrFileStream> > m_Stream;