obex/obexprotocol/obextransport/src/ObexReaderBase.cpp
changeset 54 4dc88a4ac6f4
parent 52 866b4af7ffbe
child 57 f6055a57ae18
--- a/obex/obexprotocol/obextransport/src/ObexReaderBase.cpp	Tue Sep 28 20:14:08 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-// Copyright (c) 2005-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:
-//
-
-#include <obex/transport/obexreaderbase.h>
-#include <obex/internal/obexpacket.h>
-#include <obex/transport/mobextransportnotify.h>
-#include "logger.h"
-
-#ifdef __FLOG_ACTIVE
-_LIT8(KLogComponent, "OBEXCT");
-#endif
-
-/**
-*Constructor
-*/
-EXPORT_C CObexReaderBase::CObexReaderBase(TPriority aPriority, 
-										  MObexTransportNotify& aOwner, 
-										  TObexConnectionInfo& aInfo)
-	: CObexActiveRW (aPriority, aOwner, aInfo)
-	{
-	LOG_LINE
-	LOG_FUNC
-	}
-
-/**
-* Destructor
-*/
-EXPORT_C CObexReaderBase::~CObexReaderBase()
-	{
-	LOG_LINE
-	LOG_FUNC
-
-	Cancel();
-	}
-
-/**
-This function is a place holder for future use. If the iFuture1 variable is 
-used it will need this function for any allocation required.  
-
-To prevent binary compatiblity breaks if the iFuture1 variable is used, this 
-function must be called from the 
-NewL of derived classes.  
-*/
-EXPORT_C void CObexReaderBase::BaseConstructL()
-	{
-	LOG_LINE
-	LOG_FUNC
-	}
-
-/**
-Start transfer. Calls into CObexActiveRW, which eventually queues a read 
-
-@param aPacket The Obex packet to read into.
-*/
-EXPORT_C void CObexReaderBase::StartTransfer (CObexPacket& aPacket)
-	{
-	LOG_LINE
-	LOG_FUNC
-
-	// Ensure that we don't try to queue two reads at once (this should probably
-	// never happen anyway).
-	if (IsActive())
-		{
-		FLOG(_L("\treturning because already active..."));
-		return;
-		}
-	iGotHeader = EFalse;
-	// Initial packet size indicates how much data we should ask for on the 
-	// first read
-	// Packet & stream based transports do the same thing here due to ESOCK 
-	// flexibility.
-	// See Remaining() and CompleteTransfer() for a clearer picture
-	iPacketSize = 0;
-	aPacket.Init(0);
-	NewRequest (aPacket);
-	}
-
-/**
-Check if the packet read is complete 
-@return ETrue if the read is complete.  EFalse otherwise.
-*/
-EXPORT_C TBool CObexReaderBase::CompleteTransfer ()
-	{
-	LOG_LINE
-	LOG_FUNC
-
-	iTransferError = KErrNone;
-
-	// Can't check anything until we have at least the OBEX packet header
-	if (iCount >= KObexPacketHeaderSize)
-		{// iCount is the number of bytes read thus far
-		if (!iGotHeader)
-			{
-			iPacketSize = iPacket->PacketSize ();
-
-			// Check packet's claimed size is at least as big as the header just sent
-			if ( iPacketSize < KObexPacketHeaderSize )
-				{
-				iTransferError = KErrCommsFrame;
-				return ETrue;
-				}
-				TInt maxPacketSize = GetMaxPacketSize();
-				LOG1(_L8("\taMaxPacketSize = %d"), maxPacketSize);
-			if (iPacketSize > maxPacketSize)
-				{// The peer is sending us a packet thats too large for us
-				iTransferError = KErrCommsFrame;
-				return (ETrue);
-				}
-			iGotHeader = ETrue;
-			OnReadActivity();
-			}
-
-
-		if (iCount >= iPacketSize)
-			{// We've got the whole packet.
-			return (ETrue);
-			}
-		}
-	return (EFalse);
-		
-	}
-
-/** 
-	Called when read activity is detected. 
-	This method will certainly be called when read activity is 
-	first detected on an Obex operation, and it may be called 
-	from time to time thereafter until that Obex operation is
-	completed.
-*/
-EXPORT_C void CObexReaderBase::OnReadActivity()
-	{
-	iOwner.SignalPacketProcessEvent(EObexReadActivityDetected);
-	}
-
-/** Performs any actions necessary on completion of a read.
-*/
-EXPORT_C void CObexReaderBase::OnCompleteTransfer()
-	{
-	if(iTransferError)
-		{
-		iOwner.Error(iTransferError);
-		}
-	else
-		{
-		iOwner.Process(*iPacket);
-		}
-	}
-
-/*
-Returns the number of bytes remaining to be read based on the default packet 
-size if the packet size is unknown, otherwise based on the packet size
-
-@return TInt the number of bytes remaining to be read
-*/
-EXPORT_C TInt CObexReaderBase::Remaining()
-	{
-	LOG_LINE
-	LOG_FUNC
-	
-
-	TInt remaining;
-	
-	if (iPacketSize == 0)
-		{	
-		// If we don't know the size of the packet yet, ask for as much as 
-		// an initial or default size (-iCount) specifies
-		TInt defaultPacketSize = GetInitialPacketSize();
-		LOG1(_L8("\taRemainingLimit = %d"), defaultPacketSize);
-		remaining = defaultPacketSize - iCount;
-		}
-	else
-		{
-		remaining = iPacketSize - iCount;
-		}
-	
-	if (remaining < 0)
-		{
-		remaining = 0;
-		}
-	
-	return remaining;
-	}
-
-/**
-This function returns the buffer size of the read packet.  
-
-@return TInt the size of the buffer held by the iPacket member variable
-*/
-EXPORT_C TInt CObexReaderBase::GetObexPacketBufferSize()
-	{
-	return iPacket->BufferSize();
-	}
-
-/**
-This function returns the size of the obex packet's header
-
-@return TInt the size of the obex header
-*/
-EXPORT_C TInt CObexReaderBase::GetObexPacketHeaderSize()
-	{
-	return KObexPacketHeaderSize;
-	}
-
-/**
-This function return the maximum limit the received data can be
-
-@return TInt the data limit of the obex packet
-*/
-EXPORT_C TInt CObexReaderBase::GetObexPacketDataLimit()
-	{
-	return iPacket->DataLimit();
-	}
-		
-/**
-This function is part of the extension pattern and is implemented by all 
-derived instantiable classes that need to extend it's interface.
-
-By default this returns null. Any derived class that is required to extend its 
-interface and that of this base class returns its new interface in the form of 
-an M class, that it extends, if and only if  the corresponding TUid, aUid, is 
-received. Otherwise the function calls the base class implementation, 
-returning NULL.
-
-@return TAny* The M Class representing the extension to the interface 
-otherwise NULL
-@param aUid The uid associated with the M Class that is being implemented
-*/
-EXPORT_C TAny* CObexReaderBase::GetInterface(TUid /*aUid*/)
-	{
-	return NULL;
-	}