diff -r 786b94c6f0a4 -r 5b153be919d4 bluetooth/gavdp/test/tavsrcSock.cpp --- a/bluetooth/gavdp/test/tavsrcSock.cpp Thu Aug 19 11:01:00 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,221 +0,0 @@ -// Copyright (c) 2007-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 "tavsrcSock.h" -#include "tavsrc.h" - -#ifdef __WINS__ -static const TSize KReaderConsole(55,10); -static const TSize KWriterConsole(55,12); -#else -static const TSize KReaderConsole(KConsFullScreen,KConsFullScreen); -static const TSize KWriterConsole(KConsFullScreen,KConsFullScreen); -#endif - -// -// class CActivePacketDropIoctl -// -CActivePacketDropIoctl* CActivePacketDropIoctl::NewL(CActiveConsole* aLogConsole, RSocketArray aPendingSockets) - { - CActivePacketDropIoctl* self = new (ELeave) CActivePacketDropIoctl(aLogConsole, aPendingSockets); - return self; - } - -CActivePacketDropIoctl::CActivePacketDropIoctl(CActiveConsole* aLogConsole, RSocketArray aPendingSockets) : CActive(0) - { - iPendingSockets = aPendingSockets; - iLogConsole = aLogConsole; - CActiveScheduler::Add(this); - } - -CActivePacketDropIoctl::~CActivePacketDropIoctl() - { - } - -void CActivePacketDropIoctl::DoCancel() - { - Cancel(); - } - -void CActivePacketDropIoctl::Start() - { - iPendingSockets[0].Ioctl(ENotifyAvdtpMediaPacketDropped, iStatus, &iPacketsLostPkgBuf, KSolBtAVDTPMedia); - SetActive(); - } - -void CActivePacketDropIoctl::RunL() - { - __LOG(_L("\n**Packets Dropped Notification! %d packets lost.\n"), iPacketsLostPkgBuf()); - } - -// -// class CActiveSockReader -// -CActiveSockReader* CActiveSockReader::NewL(RSocket aSock, TAvdtpTransportSessionType aType) - { - CActiveSockReader* self = new (ELeave) CActiveSockReader(aSock); - CleanupStack::PushL(self); - self->ConstructL(aType); - CleanupStack::Pop(self); - return self; - } - -CActiveSockReader::CActiveSockReader(RSocket aSock) -: CActive(0), iSock(aSock), iBufferDes(NULL, NULL) - { - CActiveScheduler::Add(this); - } - -void CActiveSockReader::Start() - { - iSock.Read(iBufferDes,iStatus); - SetActive(); - } - -void CActiveSockReader::ConstructL(TAvdtpTransportSessionType aType) - { - iType = aType; - switch (aType) - { - case EMedia: - iConsole = Console::NewL(_L("Incoming Sink Data"),KReaderConsole); - break; - case EReporting: - iConsole = Console::NewL(_L("Incoming Reporting Channel Data"),KReaderConsole); - break; - case ERecovery: - iConsole = Console::NewL(_L("Incoming Recovery Channel Data"),KReaderConsole); - break; - } - - iBuffer = HBufC8::NewL(40); - iBuffer->Des().SetMax(); - iBufferDes.Set(iBuffer->Des()); - } - -CActiveSockReader::~CActiveSockReader() - { - Cancel(); - delete iConsole; - iSock.Close(); - } - -void CActiveSockReader::DoCancel() - { - iSock.CancelAll(); - } - -void CActiveSockReader::RunL() - { - if (iStatus.Int()==KErrNone) - { - iConsole->Printf(_L("length: [%04d]\n"),iBufferDes.Length()); - for (TInt i=0;i<=iBufferDes.Length()-1;i++) - { - iConsole->Printf(_L("%c"),iBufferDes[i]); - } - iConsole->Printf(_L("\n\n")); - iBuffer->Des().SetMax(); - iBufferDes.Set(iBuffer->Des()); - iSock.Read(iBufferDes,iStatus); - SetActive(); - } - else - { - iConsole->Printf(_L("SOCKET ERROR: %d"),iStatus.Int()); - } - - } - -// -// class CActiveSockWriter -// -CActiveSockWriter* CActiveSockWriter::NewL(RSocket aSock, - TAvdtpTransportSessionType aType) - { - CActiveSockWriter* writer = new (ELeave) CActiveSockWriter(aSock); - CleanupStack::PushL(writer); - writer->ConstructL(aType); - CleanupStack::Pop(); - return writer; - } - -CActiveSockWriter::~CActiveSockWriter() - { - delete iSendBuffer; - delete iConsole; - // test for normal shutdown on media socket - TRequestStatus stat; - iSock.Shutdown(RSocket::ENormal, stat); - User::WaitForRequest(stat); - iSock.Close(); - } - -void CActiveSockWriter::Send() - { - // periodic callback to send from app - if (IsActive()) - { - iConsole->Printf(_L("Info: Transport session %d tried to send, but active\n"), iType); - } - else - { - iSock.Write(*iSendBuffer, iStatus); - SetActive(); - } - } - -CActiveSockWriter::CActiveSockWriter(RSocket aSock) -: CActive(-1), iSock(aSock) - { - CActiveScheduler::Add(this); - } - -void CActiveSockWriter::ConstructL(TAvdtpTransportSessionType aType) - { - // Writer console to be used in the future if necessary for debugging - // iConsole = Console::NewL(_L("Writer"), KWriterConsole); - - iSendBuffer = HBufC8::NewL(512); - TPtr8 des = iSendBuffer->Des(); - iType = aType; - switch (aType) - { - case EMedia: - des.Copy(_L("Media channel connected!")); - break; - case EReporting: - des.Copy(_L("Reporting channel connected!")); - break; - case ERecovery: - des.Copy(_L("Recovery channel connected!")); - break; - default: - des.Copy(_L("Unknown channel ")); - des.AppendNum(aType); - des.Append(_L(" connected!")); - break; - } - } - -void CActiveSockWriter::DoCancel() - { - iSock.CancelWrite(); - } - -void CActiveSockWriter::RunL() - { - // iConsole->Printf(_L("Info: Transport session %d SENT, result %d"), iType, iStatus.Int()); - }