videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestEventWaiter.cpp
changeset 41 d88d70d98bbc
parent 34 814ba97beeb9
child 46 3bc36dbd63c2
--- a/videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestEventWaiter.cpp	Fri Jun 11 10:05:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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: 
-*
-*/
-
-
-//  INCLUDES
-#include "CIptvTestEventWaiter.h"
-#include "MIptvTestEventWaiterObserver.h"
-#include "CIptvTestEvent.h"
-#include "VCXTestLog.h"
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CIptvTestEventWaiter* CIptvTestEventWaiter::NewL(MIptvTestEventWaiterObserver& aObserver)
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::NewL");
-	CIptvTestEventWaiter* self = new (ELeave) CIptvTestEventWaiter(aObserver);
-
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	VCXLOGLO1("<<<CIptvTestEventWaiter::NewL");
-	return self;
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::~CIptvTestEventWaiter
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CIptvTestEventWaiter::~CIptvTestEventWaiter()
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::~CIptvTestEventWaiter");
-   	if( IsAdded() )
-        {
-        Deque(); // calls also Cancel()
-        }
-
-	iTimer.Close();
-
-	Reset();
-	VCXLOGLO1("<<<CIptvTestEventWaiter::~CIptvTestEventWaiter");
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::CheckTimeouts
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CIptvTestEventWaiter::CheckTimeouts()
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::CheckTimeouts");
-	TTime now;
-	now.UniversalTime();
-
-	TInt i;
-	for(i=0; i<iEventQueue.Count();i++)
-		{
-		CIptvTestEvent* event = iEventQueue[i];
-		if( event->HasTimeouted( now ) )
-			{
-			VCXLOGLO1("CIptvTestEventWaiter:: event timedout");
-			iObserver.EventWaiterErrorL( KErrTimedOut, *event );
-			VCXLOGLO1("<<<CIptvTestEventWaiter::CheckTimeouts");
-			return KErrTimedOut;
-			}
-		}
-
-	for(i=0; i<iEventDump.Count();i++)
-		{
-		CIptvTestEvent* event = iEventDump[i];
-		if( event->HasTimeouted( now ) )
-			{
-			VCXLOGLO1("CIptvTestEventWaiter:: event timedout");
-			iObserver.EventWaiterErrorL( KErrTimedOut, *event );
-			VCXLOGLO1("<<<CIptvTestEventWaiter::CheckTimeouts");
-			return KErrTimedOut;
-			}
-		}
-
-	VCXLOGLO1("<<<CIptvTestEventWaiter::CheckTimeouts");
-
-	return KErrNone;
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::AddEvent
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CIptvTestEventWaiter::AddEvent(CIptvTestEvent* aEvent, TBool aSequential)
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::AddEvent");
-
-	if(aSequential)
-		{
-		// First event in queue, activate it
-		if(iEventQueue.Count() <= 0)
-			{
-			aEvent->Activate();
-			}
-		// Add event
-		iEventQueue.Append( aEvent );
-		}
-	else
-		{
-		// All events in dump are active
-		iEventDump.Append( aEvent );
-		aEvent->Activate();
-		}
-
-	if( !IsActive() )
-		{
-		iTimer.After(iStatus, 1000000); // once in second
-		SetActive();
-		}
-
-	VCXLOGLO1("<<<CIptvTestEventWaiter::AddEvent");
-	return KErrNone;
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::EventHappened
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CIptvTestEventWaiter::EventHappened(CIptvTestEvent* aEvent, CIptvTestEvent** aQueuedEvent)
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::EventHappened");
-	TBool eventFound = EFalse;
-
-	// Check first from the queue.
-
-	VCXLOGLO1("Event queue:");
-
-	for(TInt i=0; i<iEventQueue.Count();i++)
-		{
-		CIptvTestEvent* event = iEventQueue[i];
-		TBuf<32> name;
-		event->GetName(name);
-		VCXLOGLO3(" queue %d: %S, %d", i, &name);
-		}
-
-	//CheckTimeouts();
-
-	if(iEventQueue.Count() > 0)
-		{
-		CIptvTestEvent* event = iEventQueue[0];
-		TBuf<32> name;
-		event->GetName(name);
-		VCXLOGLO2(" - %S", &name);
-
-		if( !eventFound && event->Compare( *aEvent ) )
-			{
-			iEventQueue.Remove( 0 );
-			if(iEventQueue.Count() > 0)
-				{
-				iEventQueue[0]->Activate();
-				}
-			iPastEvents.Append( event );
-			eventFound = ETrue;
-
-			*aQueuedEvent = event;
-
-			VCXLOGLO1("*Match*");
-			}
-		}
-
-	// Check if the event is in the dump, meaning it can happen any time.
-
-	VCXLOGLO1("Event dump:");
-
-	if(!eventFound)
-		{
-		for(TInt i=0; i<iEventDump.Count();i++)
-			{
-			CIptvTestEvent* event = iEventDump[i];
-
-			TBuf<32> name;
-			event->GetName(name);
-			VCXLOGLO2(" - %S", &name);
-
-			if( !eventFound && event->Compare( *aEvent ) )
-				{
-				iEventDump.Remove( i );
-				iPastEvents.Append( event );
-				eventFound = ETrue;
-				*aQueuedEvent = event;
-				VCXLOGLO1("*Match*");
-				}
-			}
-		}
-
-	// Event was found and there's no more events in queues. Message observer that all events are validated.
-
-	if( eventFound && iEventQueue.Count() == 0 && iEventDump.Count() == 0 )
-		{
-		iObserver.EventWaiterAllEventsValidated();
-		}
-
-	if( !eventFound )
-		{
-		VCXLOGLO1("CIptvTestEventWaiter:: Event not found from queues.");
-
-		if(iEventQueue.Count() > 0)
-			{
-			CIptvTestEvent* event = iEventQueue[0];
-			*aQueuedEvent = event;
-			}
-
-		VCXLOGLO1("<<<CIptvTestEventWaiter::EventHappened");
-		return KErrNotFound;
-		}
-
-	VCXLOGLO1("<<<CIptvTestEventWaiter::EventHappened");
-	return KErrNone;
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::Reset
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CIptvTestEventWaiter::Reset()
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::Reset");
-	iEventQueue.ResetAndDestroy();
-	iEventDump.ResetAndDestroy();
-	iPastEvents.ResetAndDestroy();
-	VCXLOGLO1("<<<CIptvTestEventWaiter::Reset");
-	return KErrNone;
-}
-
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::GetEventCount
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CIptvTestEventWaiter::GetEventCount()
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::GetEventCount");
-	TInt count = 0;
-	count += iEventQueue.Count();
-	count += iEventDump.Count();
-	VCXLOGLO2("<<<CIptvTestEventWaiter:: events in queue: %d", count);
-
-	VCXLOGLO1("<<<CIptvTestEventWaiter::GetEventCount");
-	return count;
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::CIptvTestEventWaiter
-// -----------------------------------------------------------------------------
-//
-CIptvTestEventWaiter::CIptvTestEventWaiter(MIptvTestEventWaiterObserver& aObserver)
- : CActive(CActive::EPriorityStandard), iObserver(aObserver)
-{
-
-}
-
-// -----------------------------------------------------------------------------
-// CIptvTestEventWaiter::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CIptvTestEventWaiter::ConstructL()
-{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::ConstructL");
-	User::LeaveIfError(iTimer.CreateLocal());
-	CActiveScheduler::Add(this);
-	VCXLOGLO1("<<<CIptvTestEventWaiter::ConstructL");
-}
-
-// ---------------------------------------------------------------------------
-// CTestUtilConnectionWaiter::RunL()
-//
-// Handle request completion events
-// ---------------------------------------------------------------------------
-//
-void CIptvTestEventWaiter::RunL()
-	{
- 	//VCXLOGLO1(">>>CIptvTestEventWaiter::RunL");
-
-//    TInt statusCode = iStatus.Int();
-
-	CheckTimeouts();
-
-	// Start timer again if waiting for events
-
-	if(iEventQueue.Count() > 0 || iEventDump.Count() > 0)
-		{
-
-		if( !IsActive() )
-			{
-			iTimer.After(iStatus, 1000000); // once in second
-			SetActive();
-			}
-		}
-
-
-    //VCXLOGLO1("<<<CIptvTestEventWaiter::RunL");
-	}
-
-// ---------------------------------------------------------------------------
-// CIptvTestEventWaiter::DoCancel()
-//
-// Cancels ongoing requests
-// ---------------------------------------------------------------------------
-//
-void CIptvTestEventWaiter::DoCancel()
-	{
-	VCXLOGLO1(">>>CIptvTestEventWaiter::DoCancel");
-	iTimer.Cancel();
-	VCXLOGLO1("<<<CIptvTestEventWaiter::DoCancel");
-    }
-
-
-// End of File