13#include <QSocketNotifier>
27class DataDeviceInterface;
48 QObject *parent =
nullptr);
96 xcb_timestamp_t m_timestamp = XCB_CURRENT_TIME;
98 QSocketNotifier *m_notifier =
nullptr;
100 bool m_timeout =
false;
114 xcb_selection_request_event_t *request,
116 QObject *parent =
nullptr);
128 int flushSourceData();
129 void handlePropertyDelete();
131 xcb_selection_request_event_t *m_request =
nullptr;
136 QList<QPair<QByteArray, int>> m_chunks;
138 bool m_propertyIsSet =
false;
139 bool m_flushPropertyOnDelete =
false;
154 void setData(
const char *value,
int length);
155 QByteArray
data()
const;
160 xcb_get_property_reply_t *m_propertyReply =
nullptr;
161 int m_propertyStart = 0;
176 xcb_timestamp_t
timestamp, xcb_window_t parentWindow,
177 QObject *parent =
nullptr);
184 void dataSourceWrite();
185 void startTransfer();
188 xcb_window_t m_window;
The Client class encapsulates a window decoration frame.
void transferFromProperty(xcb_get_property_reply_t *reply)
void setData(const char *value, int length)
void partRead(int length)
virtual bool handlePropertyNotify(xcb_property_notify_event_t *event)=0
xcb_timestamp_t timestamp() const
void clearSocketNotifier()
QSocketNotifier * socketNotifier() const
Transfer(xcb_atom_t selection, qint32 fd, xcb_timestamp_t timestamp, QObject *parent=nullptr)
void createSocketNotifier(QSocketNotifier::Type type)
bool handlePropertyNotify(xcb_property_notify_event_t *event) override
TransferWltoX(xcb_atom_t selection, xcb_selection_request_event_t *request, qint32 fd, QObject *parent=nullptr)
~TransferWltoX() override
void startTransferFromSource()
void selectionNotify(xcb_selection_request_event_t *event, bool success)
bool handleSelectionNotify(xcb_selection_notify_event_t *event)
TransferXtoWl(xcb_atom_t selection, xcb_atom_t target, qint32 fd, xcb_timestamp_t timestamp, xcb_window_t parentWindow, QObject *parent=nullptr)
bool handlePropertyNotify(xcb_property_notify_event_t *event) override
~TransferXtoWl() override