Deskflow 1.26.0.285
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
EiClipboard.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2026 Red Hat, Inc.
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8
10#include "deskflow/IClipboard.h"
11#include <mutex>
12
13namespace deskflow {
14
16
20class EiClipboard : public IClipboard
21{
22public:
23 explicit EiClipboard(ClipboardID id);
24 ~EiClipboard() override = default;
25
28 {
29 return m_id;
30 }
31
33
34 bool empty() override;
35 void add(Format, const std::string &data) override;
36 bool open(Time) const override;
37 void close() const override;
38 Time getTime() const override;
39 bool has(Format) const override;
40 std::string get(Format) const override;
42
43private:
44 ClipboardID m_id;
45 mutable bool m_open = false;
46 mutable Time m_time = 0;
47 mutable std::mutex m_mutex;
48 bool m_owner = false;
49 Time m_timeOwned = 0;
50 bool m_added[static_cast<int>(Format::TotalFormats)] = {false, false, false};
51 std::string m_data[static_cast<int>(Format::TotalFormats)] = {"", "", ""};
52};
53
54} // namespace deskflow
static int void FAR * data
Definition ArchNetworkWinsock.cpp:35
uint8_t ClipboardID
Clipboard ID.
Definition ClipboardTypes.h:16
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
std::string get(Format) const override
Get data.
Definition EiClipboard.cpp:98
bool open(Time) const override
Open clipboard.
Definition EiClipboard.cpp:60
bool has(Format) const override
Check for data.
Definition EiClipboard.cpp:88
void close() const override
Close clipboard.
Definition EiClipboard.cpp:74
ClipboardID getID() const
Get clipboard ID.
Definition EiClipboard.h:27
bool empty() override
Empty clipboard.
Definition EiClipboard.cpp:19
Time getTime() const override
Get time.
Definition EiClipboard.cpp:83
EiClipboard(ClipboardID id)
Definition EiClipboard.cpp:12
~EiClipboard() override=default
void add(Format, const std::string &data) override
Add data.
Definition EiClipboard.cpp:42
Definition DaemonApp.h:18