Deskflow 1.24.0.365
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ISocketFactory.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/SecurityLevel.h"
13
14class IDataSocket;
15class IListenSocket;
16
18
23{
24public:
25 virtual ~ISocketFactory() = default;
27
28
33 ) const = 0;
34
39 ) const = 0;
40
42};
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
Listen socket interface.
Definition IListenSocket.h:22
Socket factory.
Definition ISocketFactory.h:23
virtual IDataSocket * create(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const =0
Create data socket.
virtual IListenSocket * createListen(IArchNetwork::AddressFamily family=IArchNetwork::AddressFamily::INet, SecurityLevel securityLevel=SecurityLevel::PlainText) const =0
Create listen socket.
virtual ~ISocketFactory()=default