diff -r 17af172ffa5f -r 630d2f34d719 cbsref/csyrefplugins/csy27010/inc/PortC32InterfaceIp.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cbsref/csyrefplugins/csy27010/inc/PortC32InterfaceIp.h Tue Aug 31 16:23:08 2010 +0300 @@ -0,0 +1,69 @@ +// +// * Copyright 2004 Neusoft America Inc. +// * All rights reserved. +// * This component and the accompanying materials are made available +// * under the terms of the Eclipse Public License v1.0 +// * which accompanies this distribution, and is available +// * at the URL "http://www.eclipse.org/legal/epl-v10.html". +// * +// * Contributors: +// * Keith Collins (Neusoft America Inc.) original software development and additional code and modifications. +// * Thomas Gahagen (Neusoft America Inc.) additional code and modifications. +// * Zhen Yuan (Neusoft America Inc.) additional code and modifications. +// * +// * Description: This file defines the CPortC32InterfaceIp class. This class +// * is equivalent to client RComm subsessions. This is derived +// * from the C32 base class for ports CPort. +// + +// CPortC32InterfaceIp.h + +/** @file CPortC32InterfaceIp.h +*/ +#ifndef _PORTC32INTERFACEIP_H__ +#define _PORTC32INTERFACEIP_H__ + +#include +#include "PortC32InterfaceBase.h" + +class CChannelMgrCmdData; +class CCsyMsgBufBpFrame; + +class CPortC32InterfaceIp : public CPortC32InterfaceBase + { +public: + static CPortC32InterfaceIp* NewL(CPortFactory& aPortFactory, + CPortFactory::TC32PortInfo& aPortInfo); + virtual ~CPortC32InterfaceIp(); + + void SendFrameToClient(CCsyMsgBufBpFrame* aFrame); + +protected: + virtual TBool ReadFromBufOrQueue(); + +private: + CPortC32InterfaceIp(CPortFactory& aPortFactory, + CPortFactory::TC32PortInfo& aPortInfo); + void ConstructL(); + + virtual TInt QueryReceiveBuffer(TInt& aLength) const; + virtual void ResetBuffers(TUint aFlags); + + void PlaceIpPacketFramesOntoFreeList(); + void PlaceIpPacketFramesOntoReadList(); + TBool CreateIpPacketFromFrames(); + +private: + //TBuf8 iPartialReadBuf; + + TUint iNumberOfPacketsWaiting; + + TSglQue iFramesReceivedForIpPacket; + TSglQueIter iFramesReceivedForIpPacketIter; + TUint iCurrentIpPacketLength; + + TBuf8 iIpPacket; + }; + + +#endif // _PORTC32INTERFACEIP_H__