diff -r 7259cf1302ad -r 169364e7e4b4 hti/HtiServicePlugins/HtiIpProxyServicePlugin/IPProxyEngine/Src/Csocket.h --- a/hti/HtiServicePlugins/HtiIpProxyServicePlugin/IPProxyEngine/Src/Csocket.h Tue Jul 06 16:05:13 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ -/* -* Copyright (c) 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: General purpose socket implementetion -* -*/ - - - -#ifndef CSOCKET_H -#define CSOCKET_H - -// INCLUDES -#include -#include "MSocketWriterObserver.h" -#include "MSocketReaderObserver.h" -#include "MSocket.h" - -// FORWARD DECLARATIONS -class CSocketWriter; -class CSocketReader; - -// CLASS DECLARATION - -/** -* General purpose socket implementetion. -* With this class the client can write and receive data -* to and from the opened RSocket object. -*/ -NONSHARABLE_CLASS( CSocket ) : public CBase, - public MSocketWriterObserver, - public MSocketReaderObserver, - public MSocket - { - public: // Constructors and destructor - - /** - * Factory function. - * @param aSocket Opened RSocket instance that is used to read and write - * data. - * @param aUDPRemotePort Remote UDB port. - - */ - static CSocket* NewL( RSocket* aSocket, TInt aUDPRemotePort = -1 ); - - /** - * Factory function. - * @param aSocket Opened RSocket instance that is used to read and write - * data. - * @param aUDPRemotePort Remote UDB port. - */ - static CSocket* NewLC( RSocket* aSocket, TInt aUDPRemotePort = -1 ); - - /** - * Destructor. - */ - virtual ~CSocket(); - - public: // New functions - - /** - * @return RSocket object - */ - RSocket* GetRSocket(); - - /** - * @return Local TCP port. - */ - TUint LocalPort() const; - - /** - * @return Remote TCP port. - */ - TUint RemotePort() const; - - /** - * Sets observer. - * @param aObserver Pointer to observer. - */ - void SetObserver( MSocketObserver* aObserver ); - - /** - * Sets the ownership mode of RSocket object. If set ETrue - * the socket will be closed and RSocket object will be deleted - * in the destruction. - * @param aHasOwnership Ownership mode. - */ - void SetSocketOwnershipMode( TBool aHasOwnership ); - - /** - * Starts receiving data. - */ - void IssueRead(); - - /** - * Cancels all pending requests. - */ - void Cancel(); - - /* - * Returns the protocol information of the socket - */ - void SocketInfo( TProtocolDesc& aDesc) const; - - /* - * Is this a UDP socket - */ - TBool IsUDP() const; - - public: // From MSocketWriter - /** - * Issues writing data to socket. - * @param aData Data to be written. - */ - void WriteL( const TDesC8& aData ); - - protected: // From MSocketReaderObserver - /** - * From MSocketReaderObserver. - * Data has been received. - * @param aData Received data. - */ - void DataReceivedL( const TDesC8& aData ); - - /** - * From MSocketReaderObserver. - * Notifies that error has occurred. - * @param aErrorCode Error code. - */ - void ReaderErrorL( TInt aErrorCode ); - - /** - * From MSocketWriterObserver. - * Notifies that error has occurred. - * @param aErrorCode Error code. - */ - void WriterErrorL( TInt aErrorCode ); - - /** - * From MSocketWriterObserver. - * Notifies that all data has succesfully been written. - */ - void BufferUnderrunL(); - - /** - * From MSocketReaderObserver and MSocketWriterObserver. - * Notifies that the observer has leaved while executing the callback - * function. - * @param aLeaveCode Leave code. - */ - void ObserverLeaved( TInt aLeaveCode ); - - - private: - - /** - * Default constructor. - */ - CSocket( RSocket* aSocket, TInt aUDPRemotePort = -1 ); - - /** - * 2nd phase constructor. - */ - void ConstructL(); - - private: // Data - RSocket* iSocket; - CSocketWriter* iSocketWriter; - CSocketReader* iSocketReader; - MSocketObserver* iObserver; - TBool iHasOwnership; - const TInt iUDPRemotePort; - }; - -#endif // CSOCKET_H - -// End of File