rtp/rtpstack/src/rtpsenditem.cpp
author Petteri Saari <petteri.saari@digia.com>
Thu, 02 Dec 2010 15:23:48 +0200
branchMSRP_FrameWork
changeset 60 7634585a4347
parent 0 307788aac0a8
permissions -rw-r--r--
This release addresses the following: - Multiple concurrent file transfer bug fixes. i.e. one device is concurrently receiving multiple files from multiple devices

/*
* Copyright (c) 2002-2003 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 "rtpsenditem.h"

const TInt CRtpSendItem::iOffset = _FOFF(CRtpSendItem,iLink);

CRtpSendItem* CRtpSendItem::NewL(const TDesC8& aPacket, TRequestStatus& aStatus)
	{
	CRtpSendItem* self = CRtpSendItem::NewLC( aPacket, aStatus );
	CleanupStack::Pop( self );
	return self;
	}

CRtpSendItem* CRtpSendItem::NewLC(const TDesC8& aPacket, TRequestStatus& aStatus)
	{
	CRtpSendItem* self=new(ELeave) CRtpSendItem( aStatus );
	CleanupStack::PushL(self);
	self->ConstructL(aPacket);
	return self;
	}

CRtpSendItem* CRtpSendItem::NewL( const TDesC8& aPacket, 
    TRequestStatus& aStatus, TRequestStatus& aClientStatus )
    {
    CRtpSendItem* self = CRtpSendItem::NewLC( aPacket, aStatus, aClientStatus );
    CleanupStack::Pop( self );
    return self;
    }

CRtpSendItem* CRtpSendItem::NewLC( const TDesC8& aPacket, 
    TRequestStatus& aStatus, TRequestStatus& aClientStatus )
    {
    CRtpSendItem* self=new(ELeave) CRtpSendItem( aStatus, aClientStatus );
    CleanupStack::PushL(self);
    self->ConstructL( aPacket );
    return self;
    }

void CRtpSendItem::ConstructL( const TDesC8& aPacket )
	{
	iPacket = aPacket.AllocL();
	}

CRtpSendItem::CRtpSendItem(TRequestStatus& aStatus)
: iStatus( aStatus )
	{}

CRtpSendItem::CRtpSendItem( TRequestStatus& aStatus, 
    TRequestStatus& aClientStatus )
: iStatus( aStatus ), iClientStatus( &aClientStatus )
    {}

CRtpSendItem::~CRtpSendItem()
	{
	delete iPacket;
	iPacket=NULL;
	}

const TDesC8& CRtpSendItem::GetData()
	{
	return *iPacket;
	}

TRequestStatus* CRtpSendItem::ClientStatus()
    {
    return iClientStatus;
    }