Deskflow 1.26.0.314
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ClipboardChunk.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2015 - 2016 Synergy App Ltd
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8
9#include "deskflow/Chunk.h"
12
13#include <cstddef>
14#include <string>
15
16constexpr static auto s_clipboardChunkMetaSize = 7;
17
18namespace deskflow {
19class IStream;
20}
21
23{
24 size_t expectedSize = 0;
25 bool active = false;
26};
27
28class ClipboardChunk : public Chunk
29{
30public:
31 explicit ClipboardChunk(size_t size);
32
33 static ClipboardChunk *start(ClipboardID id, uint32_t sequence, const std::string &size);
34 static ClipboardChunk *data(ClipboardID id, uint32_t sequence, const std::string &data);
35 static ClipboardChunk *end(ClipboardID id, uint32_t sequence);
36
38 deskflow::IStream *stream, std::string &dataCached, ClipboardID &id, uint32_t &sequence,
39 ClipboardChunkAssemblyState &state, size_t maxDataSize
40 );
41
42 static void send(deskflow::IStream *stream, void *data);
43
44 static size_t getExpectedSize(const ClipboardChunkAssemblyState &state)
45 {
46 return state.expectedSize;
47 }
48};
static int void FAR * data
Definition ArchNetworkWinsock.cpp:35
static constexpr auto s_clipboardChunkMetaSize
Definition ClipboardChunk.h:16
uint8_t ClipboardID
Clipboard ID.
Definition ClipboardTypes.h:16
Deskflow Network Protocol Specification and Implementation.
Chunk(size_t size)
Definition Chunk.cpp:9
static ClipboardChunk * start(ClipboardID id, uint32_t sequence, const std::string &size)
Definition ClipboardChunk.cpp:37
static void send(deskflow::IStream *stream, void *data)
Definition ClipboardChunk.cpp:164
static ClipboardChunk * end(ClipboardID id, uint32_t sequence)
Definition ClipboardChunk.cpp:67
static TransferState assemble(deskflow::IStream *stream, std::string &dataCached, ClipboardID &id, uint32_t &sequence, ClipboardChunkAssemblyState &state, size_t maxDataSize)
Definition ClipboardChunk.cpp:79
static size_t getExpectedSize(const ClipboardChunkAssemblyState &state)
Definition ClipboardChunk.h:44
ClipboardChunk(size_t size)
Definition ClipboardChunk.cpp:32
static ClipboardChunk * data(ClipboardID id, uint32_t sequence, const std::string &data)
Definition ClipboardChunk.cpp:52
Bidirectional stream interface.
Definition IStream.h:22
TransferState
Data reception state codes.
Definition ProtocolTypes.h:174
Definition DaemonApp.h:18
Definition ClipboardChunk.h:23
bool active
Definition ClipboardChunk.h:25
size_t expectedSize
Definition ClipboardChunk.h:24