71 void handleClientConnecting();
76 void cleanupListenSocket();
77 void cleanupClientSockets();
83 using NewClients = std::set<ClientProxyUnknown *>;
84 using WaitingClients = std::deque<ClientProxy *>;
85 using ClientSockets = std::set<IDataSocket *>;
88 std::unique_ptr<ISocketFactory> m_socketFactory;
89 NewClients m_newClients;
90 WaitingClients m_waitingClients;
91 Server *m_server =
nullptr;
94 ClientSockets m_clientSockets;
SecurityLevel
This enum is used to set how the client and server will communicate.
Definition SecurityLevel.h:14
ClientListener & operator=(ClientListener const &)=delete
ClientProxy * getNextClient()
Get next connected client.
Definition ClientListener.cpp:63
ClientListener(ClientListener &&)=delete
ClientListener(const NetworkAddress &, std::unique_ptr< ISocketFactory > socketFactory, IEventQueue *events, SecurityLevel securityLevel)
Definition ClientListener.cpp:26
ClientListener & operator=(ClientListener &&)=delete
void setServer(Server *server)
Definition ClientListener.cpp:57
Server * getServer()
Get server which owns this listener.
Definition ClientListener.h:63
~ClientListener()
Definition ClientListener.cpp:51
ClientListener(ClientListener const &)=delete
Definition ClientProxyUnknown.h:26
Generic proxy for client.
Definition ClientProxy.h:20
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
Network address type.
Definition NetworkAddress.h:18
Deskflow server.
Definition Server.h:44