Deskflow 1.22.0.197
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 Symless Ltd.
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8
9#include "common/Common.h"
10#include "deskflow/Chunk.h"
13
14#include <string>
15
16constexpr static auto s_clipboardChunkMetaSize = 7;
17
18namespace deskflow {
19class IStream;
20};
21
22class ClipboardChunk : public Chunk
23{
24public:
25 explicit ClipboardChunk(size_t size);
26
27 static ClipboardChunk *start(ClipboardID id, uint32_t sequence, const std::string &size);
28 static ClipboardChunk *data(ClipboardID id, uint32_t sequence, const std::string &data);
29 static ClipboardChunk *end(ClipboardID id, uint32_t sequence);
30
31 static TransferState
32 assemble(deskflow::IStream *stream, std::string &dataCached, ClipboardID &id, uint32_t &sequence);
33
34 static void send(deskflow::IStream *stream, void *data);
35
36 static size_t getExpectedSize()
37 {
38 return s_expectedSize;
39 }
40
41private:
42 static size_t s_expectedSize;
43};
static int void FAR * data
Definition ArchNetworkWinsock.cpp:34
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:10
static size_t getExpectedSize()
Definition ClipboardChunk.h:36
static ClipboardChunk * start(ClipboardID id, uint32_t sequence, const std::string &size)
Definition ClipboardChunk.cpp:23
static void send(deskflow::IStream *stream, void *data)
Definition ClipboardChunk.cpp:99
static ClipboardChunk * end(ClipboardID id, uint32_t sequence)
Definition ClipboardChunk.cpp:53
static TransferState assemble(deskflow::IStream *stream, std::string &dataCached, ClipboardID &id, uint32_t &sequence)
Definition ClipboardChunk.cpp:66
ClipboardChunk(size_t size)
Definition ClipboardChunk.cpp:18
static ClipboardChunk * data(ClipboardID id, uint32_t sequence, const std::string &data)
Definition ClipboardChunk.cpp:38
Bidirectional stream interface.
Definition IStream.h:24
TransferState
Data reception state codes.
Definition ProtocolTypes.h:176
Definition EventTypes.h:11