Deskflow 1.22.0.197
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 Symless 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
13
16class Clipboard : public IClipboard
17{
18public:
19 Clipboard();
20 ~Clipboard() override = default;
21
23
24
26
30 void unmarshall(const std::string &data, Time time);
31
33
35
37
41 std::string marshall() const;
42
44
45 // IClipboard overrides
46 bool empty() final;
47 void add(EFormat, const std::string &data) override;
48 bool open(Time) const final;
49 void close() const override;
50 Time getTime() const override;
51 bool has(EFormat) const override;
52 std::string get(EFormat) const override;
53
54private:
55 mutable bool m_open = false;
56 mutable Time m_time;
57 bool m_owner = false;
58 Time m_timeOwned;
59 bool m_added[kNumFormats] = {false, false, false};
60 std::string m_data[kNumFormats] = {"", "", ""};
61};
static int void FAR * data
Definition ArchNetworkWinsock.cpp:34
std::string marshall() const
Marshall clipboard data.
Definition Clipboard.cpp:109
bool empty() final
Empty clipboard.
Definition Clipboard.cpp:22
void unmarshall(const std::string &data, Time time)
Unmarshall clipboard data.
Definition Clipboard.cpp:104
std::string get(EFormat) const override
Get data.
Definition Clipboard.cpp:95
bool has(EFormat) const override
Check for data.
Definition Clipboard.cpp:86
void add(EFormat, const std::string &data) override
Add data.
Definition Clipboard.cpp:44
Clipboard()
Definition Clipboard.cpp:15
bool open(Time) const final
Open clipboard.
Definition Clipboard.cpp:60
~Clipboard() override=default
void close() const override
Close clipboard.
Definition Clipboard.cpp:73
Time getTime() const override
Get time.
Definition Clipboard.cpp:81
Clipboard interface.
Definition IClipboard.h:20
EFormat
Clipboard formats.
Definition IClipboard.h:50
@ kNumFormats
The number of clipboard formats.
Definition IClipboard.h:54
uint32_t Time
Timestamp type.
Definition IClipboard.h:28
Definition Config.h:29