Deskflow 1.26.0.0
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
NetworkProtocol.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 - 2026 Deskflow Developers
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8#include <QString>
9
10inline static const auto kSynergyProtocolOption = "synergy";
11inline static const auto kBarrierProtocolOption = "barrier";
12
19
21{
22 return static_cast<int>(proto);
23}
24
26{
27 return static_cast<NetworkProtocol>(value);
28}
29
30static QString networkProtocolToOption(const NetworkProtocol proto)
31{
32 switch (proto) {
37 default:
38 return {};
39 }
40}
41
42static QString networkProtocolToName(const NetworkProtocol proto)
43{
44 switch (proto) {
46 return QStringLiteral("Synergy");
48 return QStringLiteral("Barrier");
49 default:
50 return {};
51 }
52}
53
54static NetworkProtocol networkProtocolFromString(const QString &proto)
55{
56 using enum NetworkProtocol;
57 if (proto.compare(kBarrierProtocolOption, Qt::CaseInsensitive) == 0)
58 return Barrier;
59 if (proto.compare(kSynergyProtocolOption, Qt::CaseInsensitive) == 0)
60 return Synergy;
61 return Unknown;
62}
static NetworkProtocol networkProtocolFromInt(const int value)
Definition NetworkProtocol.h:25
static int networkProtocolToInt(const NetworkProtocol proto)
Definition NetworkProtocol.h:20
static QString networkProtocolToName(const NetworkProtocol proto)
Definition NetworkProtocol.h:42
static QString networkProtocolToOption(const NetworkProtocol proto)
Definition NetworkProtocol.h:30
NetworkProtocol
Definition NetworkProtocol.h:14
@ Barrier
Definition NetworkProtocol.h:17
@ Unknown
Definition NetworkProtocol.h:15
@ Synergy
Definition NetworkProtocol.h:16
static const auto kSynergyProtocolOption
Definition NetworkProtocol.h:10
static NetworkProtocol networkProtocolFromString(const QString &proto)
Definition NetworkProtocol.h:54
static const auto kBarrierProtocolOption
Definition NetworkProtocol.h:11