55 lines
1.6 KiB
C++

//----------------------------------------------------------------------------
//
// Copyright (C) Intel Corporation, 2006 - 2007.
//
// File: SocksSvcHandler.h
//
// Contents: Handler of the Socks service.
//
// Notes:
//----------------------------------------------------------------------------
#ifndef _MPS_SOCKS_SVC_HANDLER_H__
#define _MPS_SOCKS_SVC_HANDLER_H__
//===================================================
// INCLUDES
//===================================================
#include "TcpSvcHandler.h"
/***************************************************************************************
// Socks_Svc_Handler
//
/**************************************************************************************/
class Socks_Svc_Handler: public Tcp_Svc_Handler
{
friend class SocksSupplier;
friend class SocksConsumer;
friend class Tcp_Consumer;
public:
//represents the state of SOCKS connection:
enum SOCKS_STATE{INIT, AUTHENTICATION, NEGOTIATION, WAIT_NEGOTIATION_REP, CONNECTED, CONNECTION_FAILURE};
//===================================================
// CTOR / DTOR
//===================================================
Socks_Svc_Handler():_socks_state(INIT){};
virtual ~Socks_Svc_Handler(){};
protected:
virtual Tcp_Supplier* createSupplier(Tcp_Svc_Handler* h);
virtual Tcp_Consumer* createConsumer(Tcp_Svc_Handler* h);
virtual STATUS initConnection(){return STATUS_SUCCESS;}
private:
//===================================================
// Data Member
//===================================================
SOCKS_STATE _socks_state;
};
#endif //_MPS_SOCKS_SVC_HANDLER_H__