Deskflow 1.24.0.365
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:58
@ INet
Definition IArchNetwork.h:60
Data stream socket interface.
Definition IDataSocket.h:21
Event queue interface.
Definition IEventQueue.h:29
Listen socket interface.
Definition IListenSocket.h:22
Socket factory.
Definition ISocketFactory.h:23
Socket multiplexer.
Definition SocketMultiplexer.h:24
TCPSocketFactory(IEventQueue *events, SocketMultiplexer *socketMultiplexer)
Definition TCPSocketFactory.cpp:19
IListenSocket * createListen(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const override
Create listen socket.
Definition TCPSocketFactory.cpp:37
~TCPSocketFactory() override=default
IDataSocket * create(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const override
Create data socket.
Definition TCPSocketFactory.cpp:26