Deskflow 1.26.0.314
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
Clipboard.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 - 2016 Synergy App Ltd
4 * SPDX-FileCopyrightText: (C) 2002 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 <mutex>
13
15
18class Clipboard : public IClipboard
19{
20public:
21 Clipboard();
22 ~Clipboard() override = default;
23
25
26
28
32 void unmarshall(const std::string &data, Time time);
33
35
37
39
43 std::string marshall() const;
44
46
47 // IClipboard overrides
48 bool empty() final;
49 void add(Format, const std::string &data) override;
50 bool open(Time) const final;
51 void close() const override;
52 Time getTime() const override;
53 bool has(Format) const override;
54 std::string get(Format) const override;
55
56private:
57 mutable bool m_open = false;
58 mutable std::mutex m_mutex;
59 mutable Time m_time;
60 bool m_owner = false;
61 Time m_timeOwned;
62 bool m_added[static_cast<int>(Format::TotalFormats)] = {false, false, false};
63 std::string m_data[static_cast<int>(Format::TotalFormats)] = {"", "", ""};
64};
static int void FAR * data
Definition ArchNetworkWinsock.cpp:35
std::string marshall() const
Marshall clipboard data.
Definition Clipboard.cpp:116
bool empty() final
Empty clipboard.
Definition Clipboard.cpp:22
void unmarshall(const std::string &data, Time time)
Unmarshall clipboard data.
Definition Clipboard.cpp:111
bool has(Format) const override
Check for data.
Definition Clipboard.cpp:91
Clipboard()
Definition Clipboard.cpp:15
void add(Format, const std::string &data) override
Add data.
Definition Clipboard.cpp:45
bool open(Time) const final
Open clipboard.
Definition Clipboard.cpp:63
~Clipboard() override=default
void close() const override
Close clipboard.
Definition Clipboard.cpp:77
std::string get(Format) const override
Get data.
Definition Clipboard.cpp:101
Time getTime() const override
Get time.
Definition Clipboard.cpp:86
Clipboard interface.
Definition IClipboard.h:19
Format
Clipboard formats.
Definition IClipboard.h:50
@ TotalFormats
The number of clipboard formats supported.
Definition IClipboard.h:54
uint32_t Time
Timestamp type.
Definition IClipboard.h:28
Definition Config.h:29