diff -r 000000000000 -r 83f4b4db085c toolsandutils/wintunnel/testcode/server/CTcpServer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolsandutils/wintunnel/testcode/server/CTcpServer.h Tue Feb 02 01:39:43 2010 +0200 @@ -0,0 +1,89 @@ +/** +* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* CTcpServer +* +* +*/ + + + +#ifndef __CTCPSERVER_H__ +#define __CTCPSERVER_H__ + + +/*************************************************************************************** + * + * System Includes + * + **************************************************************************************/ +#include + + +/*************************************************************************************** + * + * Definitions + * + **************************************************************************************/ +#define ITS_OK 0 +#define E_SOCKETSTARTUP 1 +#define E_SOCKETBIND 2 +#define E_SOCKETSEND 3 +#define E_SOCKETRECV 4 +#define E_SOCKETCLOSE 5 +#define E_SOCKETSHUTDOWN 6 +#define E_SENDING 7 +#define E_RECEIVING 8 +#define E_LISTENING 9 +#define E_ACCEPT 10 +#define E_INCORRECTARG 11 + +#define RECVBUFFSIZE 1024 + + +/*************************************************************************************** + * + * CTcpServer + * + **************************************************************************************/ +class CTcpServer +{ +public: + CTcpServer(); + ~CTcpServer(); + int StartServer( char* aLocalInterface, char* aLocalPort ); + +private: + void ProcessBuffer( char* aBuffer, int aLen ); + bool IsBufferComplete( char* aBuffer, int aLen ); + + int initialise(void); + int disconnect(void); + int release(void); + int setArguments(char* li, char* lp); + int connect( SOCKET &aSocket, SOCKADDR_IN &aAddr ); + int makeConnection(SOCKET &aLocalSocket, SOCKET &aRemoteSocket, SOCKADDR_IN &aRemoteAddr); + SOCKET getSocket( void ); + SOCKADDR_IN getSockAddr( const char* aIp, const char* aPort ); + bool isIPAdress( const char* aAddr ); + +private: + SOCKET iLocal_Sock; + SOCKADDR_IN iLocal_Addr; + SOCKET iRemote_Sock; + SOCKADDR_IN iRemote_Addr; + char iPacket[RECVBUFFSIZE]; +}; + +#endif //__CTCPSERVER_H__