Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
TCPSocketFactory.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) 2002 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#pragma once
10
11#include "arch/IArchNetwork.h"
12#include "net/ISocketFactory.h"
13
14class IEventQueue;
16
19{
20public:
21 TCPSocketFactory(IEventQueue *events, SocketMultiplexer *socketMultiplexer);
22 ~TCPSocketFactory() override = default;
23
24 // ISocketFactory overrides
28 ) const override;
32 ) const override;
33
34private:
35 IEventQueue *m_events;
36 SocketMultiplexer *m_socketMultiplexer;
37};
SecurityLevel
This enum is used to set how the client and server will communicate.
Definition SecurityLevel.h:14
@ PlainText
Definition SecurityLevel.h:15
AddressFamily
Supported address families.
Definition IArchNetwork.h:57
@ INet
Definition IArchNetwork.h:59
Data stream socket interface.
Definition IDataSocket.h:20
Event queue interface.
Definition IEventQueue.h:32
Listen socket interface.
Definition IListenSocket.h:23
Socket factory.
Definition ISocketFactory.h:24
Socket multiplexer.
Definition SocketMultiplexer.h:26
TCPSocketFactory(IEventQueue *events, SocketMultiplexer *socketMultiplexer)
Definition TCPSocketFactory.cpp:21
IListenSocket * createListen(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const override
Create listen socket.
Definition TCPSocketFactory.cpp:39
~TCPSocketFactory() override=default
IDataSocket * create(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const override
Create data socket.
Definition TCPSocketFactory.cpp:28