Deskflow 1.26.0.285
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
deskflow::PortalClipboard Class Reference

#include <PortalClipboard.h>

Collaboration diagram for deskflow::PortalClipboard:

Classes

struct  SupportedMime

Static Public Member Functions

static QByteArray formatMimeTypes (const char *const *mimeTypes)
static const SupportedMimefindSupportedMime (const char *mime)
static const SupportedMimepickSupportedMime (const char *const *available)
static QByteArray encodeFormat (IClipboard::Format format, const QByteArray &data)
static QByteArray decodeFormat (IClipboard::Format format, const QByteArray &bytes)
static QByteArray readSelectionBytes (XdpSession *session, const char *mime, qint64 maxBytes)
static void claimOwnership (EiClipboard *cache, XdpSession *session)
 Advertise the cache's formats to the portal selection.
static void serveSelectionTransfer (EiClipboard *cache, XdpSession *session, const char *mime, uint32_t serial)
static bool readSelectionIntoCache (EiClipboard *cache, XdpSession *session, const char *const *mimeTypes, qint64 maxBytes)

Static Public Attributes

static constexpr SupportedMime kSupportedMimes []
static constexpr int kReadTimeoutMs = 200
static constexpr int kWriteTimeoutMs = 200
static constexpr qint64 kChunkBytes = 64 * 1024

Member Function Documentation

◆ claimOwnership()

void deskflow::PortalClipboard::claimOwnership ( EiClipboard * cache,
XdpSession * session )
static

Advertise the cache's formats to the portal selection.

◆ decodeFormat()

QByteArray deskflow::PortalClipboard::decodeFormat ( IClipboard::Format format,
const QByteArray & bytes )
static

◆ encodeFormat()

QByteArray deskflow::PortalClipboard::encodeFormat ( IClipboard::Format format,
const QByteArray & data )
static

◆ findSupportedMime()

const PortalClipboard::SupportedMime * deskflow::PortalClipboard::findSupportedMime ( const char * mime)
static

◆ formatMimeTypes()

QByteArray deskflow::PortalClipboard::formatMimeTypes ( const char *const * mimeTypes)
static

◆ pickSupportedMime()

const PortalClipboard::SupportedMime * deskflow::PortalClipboard::pickSupportedMime ( const char *const * available)
static

◆ readSelectionBytes()

QByteArray deskflow::PortalClipboard::readSelectionBytes ( XdpSession * session,
const char * mime,
qint64 maxBytes )
static

◆ readSelectionIntoCache()

bool deskflow::PortalClipboard::readSelectionIntoCache ( EiClipboard * cache,
XdpSession * session,
const char *const * mimeTypes,
qint64 maxBytes )
static

Read every supported format offered by the portal into the cache. Returns true if any data was deposited.

◆ serveSelectionTransfer()

void deskflow::PortalClipboard::serveSelectionTransfer ( EiClipboard * cache,
XdpSession * session,
const char * mime,
uint32_t serial )
static

Respond to a selection-transfer signal by writing the cache's bytes for mime to the portal-provided fd. Always calls write_done.

Member Data Documentation

◆ kChunkBytes

qint64 deskflow::PortalClipboard::kChunkBytes = 64 * 1024
staticconstexpr

◆ kReadTimeoutMs

int deskflow::PortalClipboard::kReadTimeoutMs = 200
staticconstexpr

◆ kSupportedMimes

SupportedMime deskflow::PortalClipboard::kSupportedMimes[]
staticconstexpr
Initial value:
= {
{"text/plain;charset=utf-8", IClipboard::Format::Text},
{"text/plain", IClipboard::Format::Text},
}
@ Bitmap
Bitmap format, BMP 24/32bpp, BI_RGB.
Definition IClipboard.h:53
@ Text
Text format, UTF-8, newline is LF.
Definition IClipboard.h:51

◆ kWriteTimeoutMs

int deskflow::PortalClipboard::kWriteTimeoutMs = 200
staticconstexpr

The documentation for this class was generated from the following files: