////////////////////////////////////////////////////////////////////////////////////////////////////
// IpPyProxy
//
// Copyright ©2008 Liam Kirton <liam@int3.ws>
////////////////////////////////////////////////////////////////////////////////////////////////////
// TcpServerSocket.h
//
// Created: 27/02/2008
////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

////////////////////////////////////////////////////////////////////////////////////////////////////

#include "Socket.h"

////////////////////////////////////////////////////////////////////////////////////////////////////

class TcpClientSocket;

class TcpServerSocket : public Socket
{
public:
	TcpServerSocket(TcpClientSocket *TcpClientSocket);
public:
	~TcpServerSocket();

	Socket *OnAccept(SOCKET hSocket);
	void OnConnect();
	void OnDisconnect();
	void OnReceive(unsigned char *buffer, unsigned int length, unsigned int ip = 0, unsigned short port = 0);
	void OnSendCompletion(DWORD dwNumberOfBytes);

protected:
	TcpClientSocket *tcpClientSocket_;
};

////////////////////////////////////////////////////////////////////////////////////////////////////
