Deskflow 1.22.0.197
Keyboard and mouse sharing utility
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) 2012 - 2016 Symless Ltd.
4 * SPDX-FileCopyrightText: (C) 2004 Chris Schoeneman
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include "deskflow/IClipboard.h"
11
12#include <Carbon/Carbon.h>
13#include <vector>
14
16
19{
20public:
22 virtual ~OSXClipboard();
23
25 static bool isOwnedByDeskflow();
26
27 // IClipboard overrides
28 bool empty() override;
29 void add(EFormat, const std::string &data) override;
30 bool open(Time) const override;
31 void close() const override;
32 Time getTime() const override;
33 bool has(EFormat) const override;
34 std::string get(EFormat) const override;
35
36 bool synchronize();
37
38private:
39 void clearConverters();
40
41private:
42 using ConverterList = std::vector<IOSXClipboardConverter *>;
43
44 mutable Time m_time;
45 ConverterList m_converters;
46 PasteboardRef m_pboard;
47};
48
50
54{
55public:
57
58
60
63 virtual IClipboard::EFormat getFormat() const = 0;
64
66 virtual CFStringRef getOSXFormat() const = 0;
67
69
75 virtual std::string fromIClipboard(const std::string &) const = 0;
76
78
82 virtual std::string toIClipboard(const std::string &) const = 0;
83
85};
static int void FAR * data
Definition ArchNetworkWinsock.cpp:34
Clipboard interface.
Definition IClipboard.h:20
EFormat
Clipboard formats.
Definition IClipboard.h:50
uint32_t Time
Timestamp type.
Definition IClipboard.h:28
Base class of interfaces.
Definition IInterface.h:18
Clipboard format converter interface.
Definition OSXClipboard.h:54
virtual CFStringRef getOSXFormat() const =0
returns the scrap flavor type that this object converts from/to
virtual IClipboard::EFormat getFormat() const =0
Get clipboard format.
virtual std::string toIClipboard(const std::string &) const =0
Convert to IClipboard format.
virtual std::string fromIClipboard(const std::string &) const =0
Convert from IClipboard format.
Time getTime() const override
Get time.
Definition OSXClipboard.cpp:130
OSXClipboard()
Definition OSXClipboard.cpp:23
bool open(Time) const override
Open clipboard.
Definition OSXClipboard.cpp:114
virtual ~OSXClipboard()
Definition OSXClipboard.cpp:45
bool empty() override
Empty clipboard.
Definition OSXClipboard.cpp:50
std::string get(EFormat) const override
Get data.
Definition OSXClipboard.cpp:160
bool synchronize()
Definition OSXClipboard.cpp:65
void close() const override
Close clipboard.
Definition OSXClipboard.cpp:124
bool has(EFormat) const override
Check for data.
Definition OSXClipboard.cpp:135
static bool isOwnedByDeskflow()
Test if clipboard is owned by deskflow.
void add(EFormat, const std::string &data) override
Add data.
Definition OSXClipboard.cpp:79