diff -r 826cea16efd9 -r 13a33d82ad98 videoutils_plat/videoconnutility_api/tsrc/VCXConnUtilTestExe/src/VCXConnUtilTester.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoutils_plat/videoconnutility_api/tsrc/VCXConnUtilTestExe/src/VCXConnUtilTester.cpp Wed Sep 01 12:20:37 2010 +0100 @@ -0,0 +1,221 @@ +/* +* Copyright (c) 2002 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: ?Description* +*/ + + +#include +#include + +#include "VCXTestLog.h" + +#include "VCXConnUtilTester.h" +#include "vcxconnectionutility.h" +#include "CIptvTestTimer.h" +#include "CIptvTestActiveWait.h" + +// ----------------------------------------------------------------------------- +// CVCXConnUtilTester::NewL +// ----------------------------------------------------------------------------- +// +CVCXConnUtilTester* CVCXConnUtilTester::NewL() + { + VCXLOGLO1(">>>CVCXConnUtilTester::NewL"); + CVCXConnUtilTester* self = new (ELeave) CVCXConnUtilTester(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + VCXLOGLO1("<<>>CVCXConnUtilTester::ConstructL"); + + iIsRoamingAllowed = ETrue; + iLeaveAtRoamingRequest = EFalse; + iDelaySecondsAtRoamingRequest = 0; + + iConnUtil = CVcxConnectionUtility::InstanceL(); + iConnUtil->RegisterObserverL( this ); + + iTimer = CIptvTestTimer::NewL( *this, 0 ); + + iWait = CIptvTestActiveWait::NewL(); + + VCXLOGLO1("<<>>CVCXConnUtilTester::~CVCXConnUtilTester (%S)", &iName); + + if( iConnUtil ) + { + iConnUtil->RemoveObserver( this ); + TRAP_IGNORE( iConnUtil->DisconnectL() ); + iConnUtil->DecreaseReferenceCount(); + } + iConnUtil = NULL; + + if( iTimer ) + { + iTimer->CancelTimer(); + delete iTimer; + iTimer = NULL; + } + + delete iWait; + iWait = NULL; + + VCXLOGLO2("<<>>CVCXConnUtilTester::GetIap (%S)", &iName); + VCXLOGLO2("CVCXConnUtilTester:: isTimed: %d", aIsTimed); + + if( aIsTimed ) + { + // Time GetIap request when next minute starts + TInt seconds( 0 ); + TTime now; + now.HomeTime(); + + TDateTime time = now.DateTime(); + + if( time.Second() >= 55 ) + { + seconds += 10; // Wait extra 10 seconds to make sure any other test module is ready. + } + + seconds += 60 - time.Second(); // Wait to end of minute + + VCXLOGLO3("CVCXConnUtilTester:: waiting %d seconds (%S)", seconds, &iName); + + TUint32 microSeconds( 0 ); + microSeconds = seconds * 1000000; + + microSeconds += 1 - time.MicroSecond(); // And any extra microseconds + + iTimer->After( microSeconds ); + iWait->Start(); + } + + VCXLOGLO2("CVCXConnUtilTester:: making GetIap call (%S) ----->", &iName); + TInt err = iConnUtil->GetIap( aIapId, aSilent ); + VCXLOGLO2("CVCXConnUtilTester:: GetIap returns: %d", err); + VCXLOGLO2("<<>>CVCXConnUtilTester::WapIdFromIapIdL (%S) ----->", &iName); + TUint32 aWapId = iConnUtil->WapIdFromIapIdL( aIapId ); + VCXLOGLO2("CVCXConnUtilTester:: WapIdFromIapIdL returns %d", aWapId); + VCXLOGLO2("<<>>CVCXConnUtilTester::Disconnect (%S) ----->", &iName); + TRAPD( err, iConnUtil->DisconnectL() ); + VCXLOGLO2("CVCXConnUtilTester:: Disconnect returns %d", err); + VCXLOGLO2("<<>>CVCXConnUtilTester::RequestIsRoamingAllowedL (%S) ----->", &iName); + + if( iLeaveAtRoamingRequest ) + { + VCXLOGLO1("CVCXConnUtilTester:: iLeaveAtRoamingRequest set. LEAVING!"); + User::Leave( KErrTotalLossOfPrecision ); + } + + if( iDelaySecondsAtRoamingRequest > 0 ) + { + VCXLOGLO2("CVCXConnUtilTester:: delay: %d", iDelaySecondsAtRoamingRequest ); + iTimer->After( iDelaySecondsAtRoamingRequest * 1000000 ); + iWait->Start(); + } + + VCXLOGLO2("CVCXConnUtilTest:: iIsRoamingAllowed = %d", iIsRoamingAllowed); + + VCXLOGLO2("<<>>CVCXConnUtilTester::IapChangedL (%S)", &iName); + VCXLOGLO2("<<>>CVCXConnUtilTester::TimerComplete, err: %d (%S)", aError, &iName); + iWait->Stop(); + VCXLOGLO2("<<