Ejemplo n.º 1
0
Client*
ClientApp::openClient(const String& name, const NetworkAddress& address,
				synergy::Screen* screen)
{
	Client* client = new Client(
		m_events,
		name,
		address,
		new TCPSocketFactory(m_events, getSocketMultiplexer()),
		screen,
		args());

	try {
		m_events->adoptHandler(
			m_events->forClient().connected(),
			client->getEventTarget(),
			new TMethodEventJob<ClientApp>(this, &ClientApp::handleClientConnected));

		m_events->adoptHandler(
			m_events->forClient().connectionFailed(),
			client->getEventTarget(),
			new TMethodEventJob<ClientApp>(this, &ClientApp::handleClientFailed));

		m_events->adoptHandler(
			m_events->forClient().disconnected(),
			client->getEventTarget(),
			new TMethodEventJob<ClientApp>(this, &ClientApp::handleClientDisconnected));

	} catch (std::bad_alloc &ba) {
		delete client;
		throw ba;
	}

	return client;
}
Ejemplo n.º 2
0
ClientListener*
ServerApp::openClientListener(const NetworkAddress& address)
{
	ClientListener* listen = new ClientListener(
		address,
		new TCPSocketFactory(m_events, getSocketMultiplexer()),
		m_events,
		args().m_enableCrypto);
	
	m_events->adoptHandler(
		m_events->forClientListener().connected(), listen,
		new TMethodEventJob<ServerApp>(
			this, &ServerApp::handleClientConnected, listen));
	
	return listen;
}
Ejemplo n.º 3
0
CClientListener*
CServerApp::openClientListener(const CNetworkAddress& address)
{
	CClientListener* listen = new CClientListener(
		address,
		new CTCPSocketFactory(m_events, getSocketMultiplexer()),
		NULL,
		args().m_crypto,
		m_events);
	
	m_events->adoptHandler(
		m_events->forCClientListener().connected(), listen,
		new TMethodEventJob<CServerApp>(
			this, &CServerApp::handleClientConnected, listen));
	
	return listen;
}