rtp/rtpstack/src/rtpsenditem.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 01:03:15 +0200
changeset 0 307788aac0a8
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* 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;
    }