Deskflow 1.24.0.365
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ClientProxyUnknown.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 Deskflow Developers
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
5 * SPDX-FileCopyrightText: (C) 2004 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#pragma once
10
11#include <string>
12
13class ClientProxy;
14class EventQueueTimer;
15namespace deskflow {
16class IStream;
17}
18class Server;
19class IEventQueue;
20
22{
23public:
24 ClientProxyUnknown(deskflow::IStream *stream, double timeout, Server *server, IEventQueue *events);
28
31
33
34
36
42
45 {
46 return m_stream;
47 }
48
50
51private:
52 void sendSuccess();
53 void sendFailure();
54 void addStreamHandlers();
55 void addProxyHandlers();
56 void removeHandlers();
57 void initProxy(const std::string &name, int major, int minor);
58 void removeTimer();
59 void handleData();
60 void handleWriteError();
61 void handleTimeout();
62 void handleDisconnect();
63
64private:
65 deskflow::IStream *m_stream = nullptr;
66 EventQueueTimer *m_timer = nullptr;
67 ClientProxy *m_proxy = nullptr;
68 bool m_ready = false;
69 Server *m_server = nullptr;
70 IEventQueue *m_events = nullptr;
71};
static const struct sockaddr FAR * name
Definition ArchNetworkWinsock.cpp:28
static fd_set FAR fd_set FAR fd_set FAR const struct timeval FAR * timeout
Definition ArchNetworkWinsock.cpp:40
ClientProxyUnknown(ClientProxyUnknown &&)=delete
ClientProxyUnknown & operator=(ClientProxyUnknown &&)=delete
deskflow::IStream * getStream()
Get the stream.
Definition ClientProxyUnknown.h:44
ClientProxy * orphanClientProxy()
Get the client proxy.
Definition ClientProxyUnknown.cpp:58
ClientProxyUnknown(ClientProxyUnknown const &)=delete
ClientProxyUnknown & operator=(ClientProxyUnknown const &)=delete
~ClientProxyUnknown()
Definition ClientProxyUnknown.cpp:50
ClientProxyUnknown(deskflow::IStream *stream, double timeout, Server *server, IEventQueue *events)
Definition ClientProxyUnknown.cpp:32
Generic proxy for client.
Definition ClientProxy.h:18
Definition EventQueueTimer.h:12
Event queue interface.
Definition IEventQueue.h:29
Deskflow server.
Definition Server.h:41
Bidirectional stream interface.
Definition IStream.h:22
Definition EventTypes.h:11