Deskflow
1.26.0.418
Keyboard and mouse sharing utility
Toggle main menu visibility
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 Synergy App 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
14
class
IEventQueue
;
15
class
SocketMultiplexer
;
16
18
class
TCPSocketFactory
:
public
ISocketFactory
19
{
20
public
:
21
TCPSocketFactory
(
IEventQueue
*events,
SocketMultiplexer
*socketMultiplexer);
22
~TCPSocketFactory
()
override
=
default
;
23
24
// ISocketFactory overrides
25
IDataSocket
*
create
(
26
IArchNetwork::AddressFamily
family =
IArchNetwork::AddressFamily::INet
,
27
SecurityLevel
securityLevel =
SecurityLevel::PlainText
28
)
const override
;
29
IListenSocket
*
createListen
(
30
IArchNetwork::AddressFamily
family =
IArchNetwork::AddressFamily::INet
,
31
SecurityLevel
securityLevel =
SecurityLevel::PlainText
32
)
const override
;
33
34
private
:
35
IEventQueue
*m_events;
36
SocketMultiplexer
*m_socketMultiplexer;
37
};
IArchNetwork.h
ISocketFactory.h
SecurityLevel
SecurityLevel
This enum is used to set how the client and server will communicate.
Definition
SecurityLevel.h:14
SecurityLevel::PlainText
@ PlainText
Definition
SecurityLevel.h:15
IArchNetwork::AddressFamily
AddressFamily
Supported address families.
Definition
IArchNetwork.h:58
IArchNetwork::AddressFamily::INet
@ INet
Definition
IArchNetwork.h:60
IDataSocket
Data stream socket interface.
Definition
IDataSocket.h:21
IEventQueue
Event queue interface.
Definition
IEventQueue.h:29
IListenSocket
Listen socket interface.
Definition
IListenSocket.h:22
ISocketFactory
Socket factory.
Definition
ISocketFactory.h:23
SocketMultiplexer
Socket multiplexer.
Definition
SocketMultiplexer.h:24
TCPSocketFactory::TCPSocketFactory
TCPSocketFactory(IEventQueue *events, SocketMultiplexer *socketMultiplexer)
Definition
TCPSocketFactory.cpp:19
TCPSocketFactory::createListen
IListenSocket * createListen(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const override
Create listen socket.
Definition
TCPSocketFactory.cpp:37
TCPSocketFactory::~TCPSocketFactory
~TCPSocketFactory() override=default
TCPSocketFactory::create
IDataSocket * create(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const override
Create data socket.
Definition
TCPSocketFactory.cpp:26
src
lib
net
TCPSocketFactory.h
Generated by
1.18.0