Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
Loading...
Searching...
No Matches
OSXClipboard.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) 2004 Chris Schoeneman
6
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7
*/
8
9
#pragma once
10
11
#include "
deskflow/IClipboard.h
"
12
13
#include <Carbon/Carbon.h>
14
#include <vector>
15
16
class
IOSXClipboardConverter
;
17
19
class
OSXClipboard
:
public
IClipboard
20
{
21
public
:
22
OSXClipboard
();
23
virtual
~OSXClipboard
();
24
26
static
bool
isOwnedByDeskflow
();
27
28
// IClipboard overrides
29
bool
empty
()
override
;
30
void
add
(
Format
,
const
std::string &
data
)
override
;
31
bool
open
(
Time
)
const override
;
32
void
close
()
const override
;
33
Time
getTime
()
const override
;
34
bool
has
(
Format
)
const override
;
35
std::string
get
(
Format
)
const override
;
36
37
bool
synchronize
();
38
39
private
:
40
void
clearConverters();
41
42
private
:
43
using
ConverterList = std::vector<IOSXClipboardConverter *>;
44
45
mutable
Time
m_time;
46
ConverterList m_converters;
47
PasteboardRef m_pboard;
48
};
49
51
54
class
IOSXClipboardConverter
55
{
56
public
:
57
virtual
~IOSXClipboardConverter
() =
default
;
59
60
62
65
virtual
IClipboard::Format
getFormat
()
const
= 0;
66
68
virtual
CFStringRef
getOSXFormat
()
const
= 0;
69
71
77
virtual
std::string
fromIClipboard
(
const
std::string &)
const
= 0;
78
80
84
virtual
std::string
toIClipboard
(
const
std::string &)
const
= 0;
85
87
};
data
static int void FAR * data
Definition
ArchNetworkWinsock.cpp:36
IClipboard.h
IClipboard
Clipboard interface.
Definition
IClipboard.h:19
IClipboard::Format
Format
Clipboard formats.
Definition
IClipboard.h:50
IClipboard::Time
uint32_t Time
Timestamp type.
Definition
IClipboard.h:28
IOSXClipboardConverter
Clipboard format converter interface.
Definition
OSXClipboard.h:55
IOSXClipboardConverter::getOSXFormat
virtual CFStringRef getOSXFormat() const =0
returns the scrap flavor type that this object converts from/to
IOSXClipboardConverter::getFormat
virtual IClipboard::Format getFormat() const =0
Get clipboard format.
IOSXClipboardConverter::toIClipboard
virtual std::string toIClipboard(const std::string &) const =0
Convert to IClipboard format.
IOSXClipboardConverter::fromIClipboard
virtual std::string fromIClipboard(const std::string &) const =0
Convert from IClipboard format.
IOSXClipboardConverter::~IOSXClipboardConverter
virtual ~IOSXClipboardConverter()=default
OSXClipboard::getTime
Time getTime() const override
Get time.
Definition
OSXClipboard.cpp:129
OSXClipboard::OSXClipboard
OSXClipboard()
Definition
OSXClipboard.cpp:22
OSXClipboard::add
void add(Format, const std::string &data) override
Add data.
Definition
OSXClipboard.cpp:78
OSXClipboard::get
std::string get(Format) const override
Get data.
Definition
OSXClipboard.cpp:159
OSXClipboard::open
bool open(Time) const override
Open clipboard.
Definition
OSXClipboard.cpp:113
OSXClipboard::empty
bool empty() override
Empty clipboard.
Definition
OSXClipboard.cpp:49
OSXClipboard::has
bool has(Format) const override
Check for data.
Definition
OSXClipboard.cpp:134
OSXClipboard::synchronize
bool synchronize()
Definition
OSXClipboard.cpp:64
OSXClipboard::close
void close() const override
Close clipboard.
Definition
OSXClipboard.cpp:123
OSXClipboard::isOwnedByDeskflow
static bool isOwnedByDeskflow()
Test if clipboard is owned by deskflow.
src
lib
platform
OSXClipboard.h
Generated by
1.18.0