diff -r 826cea16efd9 -r 13a33d82ad98 videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestActiveWait.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoutils_plat/videoconnutility_api/tsrc/VCXTestCommon/src/CIptvTestActiveWait.cpp Wed Sep 01 12:20:37 2010 +0100 @@ -0,0 +1,194 @@ +/* +* 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: +* +*/ + + + +// INCLUDE FILES +#include "CIptvTestActiveWait.h" +#include "VCXTestLog.h" + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS + +// MACROS + +// LOCAL CONSTANTS AND MACROS + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// ============================= LOCAL FUNCTIONS =============================== + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CIptvTestActiveWait:: +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +EXPORT_C CIptvTestActiveWait* CIptvTestActiveWait::NewL() + { + VCXLOGLO1(">>>CIptvTestActiveWait::NewL"); + CIptvTestActiveWait* self = new (ELeave) CIptvTestActiveWait(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + VCXLOGLO1("<<>>CIptvTestActiveWait::~CIptvTestActiveWait"); + + ActiveWait(EActiveWaitStop); + delete iActiveSchedulerWait; + iActiveSchedulerWait = NULL; + + VCXLOGLO1("<<>>CIptvTestActiveWait::CIptvTestActiveWait"); + + + VCXLOGLO1("<<>>CIptvTestActiveWait::ConstructL"); + + iActiveSchedulerWait = new (ELeave) CActiveSchedulerWait; + + VCXLOGLO1("<<>>CIptvTestActiveWait::ActiveWait"); + + VCXLOGLO2("aActiveWaitCmd=%d", aActiveWaitCmd ); + + switch( aActiveWaitCmd ) + { + case EActiveWaitStart: + { + if( !iActiveSchedulerWait->IsStarted() ) + { + iActiveSchedulerWait->Start(); + } + else + { + VCXLOGLO1("ActiveSchedulerWait already started"); + } + } + break; + case EActiveWaitStop: + { + if( iActiveSchedulerWait->IsStarted() ) + { + iActiveSchedulerWait->AsyncStop(); + } + else + { + VCXLOGLO1("ActiveSchedulerWait already stopped"); + } + } + break; + default: + break; + } + + VCXLOGLO1("<<IsStarted(); + } + +// ----------------------------------------------------------------------------- +// CIptvTestActiveWait::Start +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CIptvTestActiveWait::Start( ) + { + TInt err = KErrNotReady; + if( !iActiveSchedulerWait->IsStarted() ) + { + iActiveSchedulerWait->Start(); + err = KErrNone; + } + else + { + VCXLOGLO1("ActiveSchedulerWait already started"); + } + return err; + } + +// ----------------------------------------------------------------------------- +// CIptvTestActiveWait::Stop +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CIptvTestActiveWait::Stop( ) + { + TInt err = KErrNotReady; + if( iActiveSchedulerWait->IsStarted() ) + { + iActiveSchedulerWait->AsyncStop(); + err = KErrNone; + } + else + { + VCXLOGLO1("ActiveSchedulerWait already stopped"); + } + return err; + } + +// End of File