Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
IClipboard.h
Go to the documentation of this file.
1
/*
2
* Deskflow -- mouse and keyboard sharing utility
3
* SPDX-FileCopyrightText: (C) 2025 Deskflow Developers
4
* SPDX-FileCopyrightText: (C) 2012 - 2016 Synergy App Ltd
5
* SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
6
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7
*/
8
9
#pragma once
10
11
#include <cstdint>
12
#include <string>
13
15
18
class
IClipboard
19
{
20
public
:
21
virtual
~IClipboard
() =
default
;
23
28
using
Time
= uint32_t;
29
31
49
enum class
Format
50
{
51
Text,
52
HTML,
53
Bitmap,
54
TotalFormats
55
};
56
58
59
61
67
virtual
bool
empty
() = 0;
68
70
74
virtual
void
add
(
Format
,
const
std::string &
data
) = 0;
75
77
79
81
89
virtual
bool
open
(
Time
time)
const
= 0;
90
92
99
virtual
void
close
()
const
= 0;
100
102
105
virtual
Time
getTime
()
const
= 0;
106
108
112
virtual
bool
has
(
Format
)
const
= 0;
113
115
120
virtual
std::string
get
(
Format
)
const
= 0;
121
123
127
static
std::string
marshall
(
const
IClipboard
*clipboard);
128
130
134
static
void
unmarshall
(
IClipboard
*clipboard,
const
std::string_view &
data
,
Time
time);
135
137
144
static
bool
copy
(
IClipboard
*dst,
const
IClipboard
*src);
145
147
153
static
bool
copy
(
IClipboard
*dst,
const
IClipboard
*src,
Time
);
154
156
157
private
:
158
static
uint32_t readUInt32(
const
char
*);
159
static
void
writeUInt32(std::string *, uint32_t);
160
};
data
static int void FAR * data
Definition
ArchNetworkWinsock.cpp:36
IClipboard
Clipboard interface.
Definition
IClipboard.h:19
IClipboard::Format
Format
Clipboard formats.
Definition
IClipboard.h:50
IClipboard::copy
static bool copy(IClipboard *dst, const IClipboard *src)
Copy clipboard.
Definition
IClipboard.cpp:121
IClipboard::has
virtual bool has(Format) const =0
Check for data.
IClipboard::empty
virtual bool empty()=0
Empty clipboard.
IClipboard::add
virtual void add(Format, const std::string &data)=0
Add data.
IClipboard::get
virtual std::string get(Format) const =0
Get data.
IClipboard::unmarshall
static void unmarshall(IClipboard *clipboard, const std::string_view &data, Time time)
Unmarshall clipboard data.
Definition
IClipboard.cpp:19
IClipboard::open
virtual bool open(Time time) const =0
Open clipboard.
IClipboard::marshall
static std::string marshall(const IClipboard *clipboard)
Marshall clipboard data.
Definition
IClipboard.cpp:74
IClipboard::~IClipboard
virtual ~IClipboard()=default
IClipboard::Time
uint32_t Time
Timestamp type.
Definition
IClipboard.h:28
IClipboard::close
virtual void close() const =0
Close clipboard.
IClipboard::getTime
virtual Time getTime() const =0
Get time.
src
lib
deskflow
IClipboard.h
Generated by
1.18.0