videoutils_plat/videoconnutility_api/tsrc/VCXTestUtilModule/src/IptvTestUtilModuleBlocks.cpp
changeset 0 822a42b6c3f1
child 1 17b6bb2b14ba
equal deleted inserted replaced
-1:000000000000 0:822a42b6c3f1
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 #include <e32svr.h>
       
    21 #include <StifParser.h>
       
    22 #include <Stiftestinterface.h>
       
    23 
       
    24 #include <BADESCA.H>
       
    25 #include <COMMDB.H>
       
    26 #include <zipfile.h>
       
    27 
       
    28 #include "VCXTestLog.h"
       
    29 #include "IptvTestUtilModule.h"
       
    30 #include "TestUtilConnection.h"
       
    31 #include "TestUtilConnectionWaiter.h"
       
    32 #include "IptvTestDownloadManager.h"
       
    33 #include "VCXTestCommon.h"
       
    34 #include "CIptvTestMobilecrashWatcher.h"
       
    35 #include "CIptvTestTimer.h"
       
    36 
       
    37 #include "IptvTestUtilALR.h"
       
    38 
       
    39 // CONSTANTS
       
    40 _LIT( KDateTimeString, "%D%M%Y%/0%1%/1%2%/2%3%/3 %-B%:0%H%:1%T%:2%S%.%*C2%:3%-B" );
       
    41 
       
    42 // MACROS
       
    43 
       
    44 // LOCAL CONSTANTS AND MACROS
       
    45 
       
    46 // FORWARD DECLARATIONS
       
    47 class CIptvTestTimer;
       
    48 class CZipFile;
       
    49 
       
    50 // ============================ MEMBER FUNCTIONS ===============================
       
    51 
       
    52 // -----------------------------------------------------------------------------
       
    53 // CIptvTestUtilModule::Delete
       
    54 // Delete here all resources allocated and opened from test methods.
       
    55 // Called from destructor.
       
    56 // -----------------------------------------------------------------------------
       
    57 //
       
    58 void CIptvTestUtilModule::Delete()
       
    59     {
       
    60     VCXLOGLO1(">>>CIptvTestUtilModule::Delete");
       
    61     if(iConnect)
       
    62     	{
       
    63     	delete iConnect;
       
    64     	iConnect = NULL;
       
    65     	}
       
    66 
       
    67     if(iConnectionWaiter)
       
    68     	{
       
    69     	delete iConnectionWaiter;
       
    70     	iConnectionWaiter = NULL;
       
    71     	}
       
    72 
       
    73 	if(iDownload)
       
    74 		{
       
    75 		delete iDownload;
       
    76 		iDownload = NULL;
       
    77 		}
       
    78 
       
    79 	if(iTimer)
       
    80 		{
       
    81 		delete iTimer;
       
    82 		iTimer = NULL;
       
    83 		}
       
    84 
       
    85     if( iFileIsLocked )
       
    86     	{
       
    87     	VCXLOGLO1("CIptvTestUtilModule:: Release locked file.");
       
    88     	iLockedFile.Close();
       
    89     	}
       
    90 	iFileIsLocked = EFalse;
       
    91 
       
    92 	delete iObservedServicePath;
       
    93 	iObservedServicePath = NULL;
       
    94 	iObservedFiles.ResetAndDestroy();
       
    95 	//iObservedFiles.Close();
       
    96 	VCXLOGLO1("CIptvTestUtilModule::Observed array deleted.");
       
    97 
       
    98 	iFileModifiedDates.Reset();
       
    99 	iFileModifiedDates.Close();
       
   100 	VCXLOGLO1("CIptvTestUtilModule::File date array deleted.");
       
   101 
       
   102 	iFs.Close();
       
   103 
       
   104 	TInt i;
       
   105 	for( i = 0; i < iToBeDeletedDestinations.Count(); i++ )
       
   106         {
       
   107         TPtr ptr = iToBeDeletedDestinations[i]->Des();
       
   108         iTestUtilALR->DeleteDestinationL( ptr );
       
   109         }
       
   110 
       
   111     iToBeDeletedDestinations.ResetAndDestroy();
       
   112 
       
   113     if( iTestUtilALR )
       
   114         {
       
   115         delete iTestUtilALR;
       
   116         iTestUtilALR = NULL;
       
   117         }
       
   118 
       
   119     if( iCaseStarted )
       
   120         {
       
   121         VCXLOGLO1("<<< Case end.");
       
   122         iCaseStarted = EFalse;
       
   123         }
       
   124 
       
   125     if( iDummyFilesCreated )
       
   126         {
       
   127         TRAP_IGNORE( iTestCommon->DeleteDummyFilesL( EDriveC ) );
       
   128         TRAP_IGNORE( iTestCommon->DeleteDummyFilesL( EDriveE ) );
       
   129         TRAP_IGNORE( iTestCommon->DeleteDummyFilesL( EDriveF ) );
       
   130         TRAP_IGNORE( iTestCommon->DeleteDummyFilesL( EDriveG ) );
       
   131         }
       
   132         
       
   133 	if(iIptvTestMobilecrashWatcher)
       
   134 		{
       
   135         CStifItemParser* nullParser( NULL );
       
   136         CheckMobilecrashesL( *nullParser );
       
   137 
       
   138 		delete iIptvTestMobilecrashWatcher;
       
   139 		iIptvTestMobilecrashWatcher = NULL;
       
   140 		}
       
   141     
       
   142 
       
   143 	VCXLOGLO1("<<<CIptvTestUtilModule::Delete");
       
   144     }
       
   145 
       
   146 // -----------------------------------------------------------------------------
       
   147 // CIptvTestUtilModule::RunMethodL
       
   148 // Run specified method. Contains also table of test mothods and their names.
       
   149 // -----------------------------------------------------------------------------
       
   150 //
       
   151 TInt CIptvTestUtilModule::RunMethodL(
       
   152     CStifItemParser& aItem )
       
   153     {
       
   154 
       
   155     static TStifFunctionInfo const KFunctions[] =
       
   156         {
       
   157         // Copy this line for every implemented function.
       
   158         // First string is the function name used in TestScripter script file.
       
   159         // Second is the actual implementation member function.
       
   160         ENTRY( "IptvLogCaseStart", CIptvTestUtilModule::IptvLogCaseStart ),
       
   161         ENTRY( "IptvLogCaseEnd", CIptvTestUtilModule::IptvLogCaseEnd ),
       
   162         ENTRY( "IptvLogWrite", CIptvTestUtilModule::IptvLogWrite ),
       
   163 
       
   164         ENTRY( "Connect", CIptvTestUtilModule::ConnectL ),
       
   165         ENTRY( "Attach", CIptvTestUtilModule::AttachL ),
       
   166         ENTRY( "Disconnect", CIptvTestUtilModule::DisconnectL ),
       
   167 		ENTRY( "Terminate", CIptvTestUtilModule::TerminateConnectionL ),
       
   168 		ENTRY( "WaitForConnectionActivity", CIptvTestUtilModule::WaitForConnectionActivityL ),
       
   169 		ENTRY( "WaitUntilConnectionIsClosed", CIptvTestUtilModule::WaitUntilConnectionIsClosed ),
       
   170 		ENTRY( "Download", CIptvTestUtilModule::DownloadL ),
       
   171 		ENTRY( "StopDownloads", CIptvTestUtilModule::StopDownloadsL ),
       
   172 
       
   173 		ENTRY( "CreateMobilecrashWatcher", CIptvTestUtilModule::CreateMobilecrashWatcherL ),
       
   174 		ENTRY( "CheckMobilecrashes", CIptvTestUtilModule::CheckMobilecrashesL ),
       
   175 		ENTRY( "CheckMobilecrashesZeroTolerance", CIptvTestUtilModule::CheckMobilecrashesZeroToleranceL ),
       
   176 
       
   177 		ENTRY( "DeleteUsedDestinationCenRep", CIptvTestUtilModule::DeleteUsedDestinationCenRepL ),
       
   178 		ENTRY( "SetUsedDestination", CIptvTestUtilModule::SetUsedDestinationL ),
       
   179 		ENTRY( "CreateDestination", CIptvTestUtilModule::CreateDestinationL ),
       
   180 		ENTRY( "SetConnectionMethodStringAttribute", CIptvTestUtilModule::SetConnectionMethodStringAttributeL ),
       
   181 		ENTRY( "SetConnectionMethodIntAttribute", CIptvTestUtilModule::SetConnectionMethodIntAttributeL ),
       
   182 		ENTRY( "SetConnectionMethodBoolAttribute", CIptvTestUtilModule::SetConnectionMethodBoolAttributeL ),
       
   183 		ENTRY( "DeleteDestination", CIptvTestUtilModule::DeleteDestinationL ),
       
   184 		ENTRY( "CopyMethod", CIptvTestUtilModule::CopyMethodL ),
       
   185 		ENTRY( "DeleteMethod", CIptvTestUtilModule::DeleteMethodL ),
       
   186 		ENTRY( "SetMethodPriority", CIptvTestUtilModule::SetMethodPriorityL ),
       
   187 		ENTRY( "DeleteDestinationAfterwards", CIptvTestUtilModule::DeleteDestinationAfterwardsL ),
       
   188 
       
   189 		ENTRY( "SetSystemTimeToday", CIptvTestUtilModule::SetSystemTimeToday ),
       
   190         ENTRY( "SetSystemTime", CIptvTestUtilModule::SetSystemTime ),
       
   191 		ENTRY( "AdvanceSystemTime1Second", CIptvTestUtilModule::AdvanceSystemTime1Second ),
       
   192 		ENTRY( "AdvanceSystemTimeSeconds", CIptvTestUtilModule::AdvanceSystemTimeSeconds ),
       
   193 		ENTRY( "AdvanceSystemTimeMinutes", CIptvTestUtilModule::AdvanceSystemTimeMinutes ),
       
   194 		ENTRY( "AdvanceSystemTimeHours", CIptvTestUtilModule::AdvanceSystemTimeHours ),
       
   195 		ENTRY( "AdvanceSystemTimeDays", CIptvTestUtilModule::AdvanceSystemTimeDays ),
       
   196 		ENTRY( "SetTimeZone", CIptvTestUtilModule::SetTimeZone ),
       
   197 
       
   198 		ENTRY( "CreateFile", CIptvTestUtilModule::CreateFileL ),
       
   199 		ENTRY( "DeleteFile", CIptvTestUtilModule::DeleteFileL ),
       
   200 		ENTRY( "CreateFolder", CIptvTestUtilModule::CreateFolderL ),
       
   201 		ENTRY( "DeleteFolder", CIptvTestUtilModule::DeleteFolderL ),
       
   202 		ENTRY( "LockFile", CIptvTestUtilModule::LockFileL ),
       
   203 		ENTRY( "UnlockFile", CIptvTestUtilModule::UnlockFileL ),
       
   204 		ENTRY( "ExtractFile", CIptvTestUtilModule::ExtractFileL ),
       
   205 		ENTRY( "SetDriveFreeSpace",  CIptvTestUtilModule::SetDriveFreeSpaceL ),
       
   206         };
       
   207 
       
   208     const TInt count = sizeof( KFunctions ) /
       
   209                         sizeof( TStifFunctionInfo );
       
   210 
       
   211     return RunInternalL( KFunctions, count, aItem );
       
   212     }
       
   213 
       
   214 // -----------------------------------------------------------------------------
       
   215 // CIptvTestUtilModule::IptvLogCaseStart
       
   216 // -----------------------------------------------------------------------------
       
   217 //
       
   218 TInt CIptvTestUtilModule::IptvLogCaseStart( CStifItemParser& aItem )
       
   219     {
       
   220     //VCXLOGLO1(">>>CIptvTestUtilModule::IptvLogCaseStart");
       
   221 
       
   222     _LIT( KIptvTestUtilModule, "IptvTestUtilModule" );
       
   223     _LIT( KWhere, "In IptvLogCaseStart" );
       
   224     TestModuleIf().Printf( 0, KIptvTestUtilModule, KWhere );
       
   225     // Print to log file
       
   226     iLog->Log( KWhere );
       
   227 
       
   228     TPtrC string;
       
   229 
       
   230     if( aItem.GetNextString ( string ) != KErrNone )
       
   231         {
       
   232 		VCXLOGLO1("CIptvTestUtilModule::IptvLogCaseStart: Could not read parameter!");
       
   233 		return KErrGeneral;
       
   234         }
       
   235 
       
   236 	VCXLOGLO2(">>> Case start: %S", &string);
       
   237 
       
   238 	iCaseStarted = ETrue;
       
   239 
       
   240     return KErrNone;
       
   241 	//VCXLOGLO1("<<<CIptvTestUtilModule::IptvLogCaseStart");
       
   242     }
       
   243 
       
   244 // -----------------------------------------------------------------------------
       
   245 // CIptvTestUtilModule::IptvLogCaseEnd
       
   246 // -----------------------------------------------------------------------------
       
   247 //
       
   248 TInt CIptvTestUtilModule::IptvLogCaseEnd( CStifItemParser& /* aItem */ )
       
   249     {
       
   250     //VCXLOGLO1(">>>CIptvTestUtilModule::IptvLogCaseEnd");
       
   251 
       
   252     _LIT( KIptvTestUtilModule, "IptvTestUtilModule" );
       
   253     _LIT( KWhere, "In IptvLogCaseEnd" );
       
   254     TestModuleIf().Printf( 0, KIptvTestUtilModule, KWhere );
       
   255     // Print to log file
       
   256     iLog->Log( KWhere );
       
   257 
       
   258 	VCXLOGLO1("<<< Case end.");
       
   259 	iCaseStarted = EFalse;
       
   260 
       
   261     return KErrNone;
       
   262 	//VCXLOGLO1("<<<CIptvTestUtilModule::IptvLogCaseEnd");
       
   263     }
       
   264 
       
   265 // -----------------------------------------------------------------------------
       
   266 // CIptvTestUtilModule::IptvLogWrite
       
   267 // -----------------------------------------------------------------------------
       
   268 //
       
   269 TInt CIptvTestUtilModule::IptvLogWrite( CStifItemParser& aItem )
       
   270     {
       
   271     //VCXLOGLO1(">>>CIptvTestUtilModule::IptvLogWrite");
       
   272 
       
   273     _LIT( KIptvTestUtilModule, "IptvTestUtilModule" );
       
   274     _LIT( KWhere, "In IptvLogWrite" );
       
   275     TestModuleIf().Printf( 0, KIptvTestUtilModule, KWhere );
       
   276     // Print to log file
       
   277     iLog->Log( KWhere );
       
   278 
       
   279     TPtrC string;
       
   280 
       
   281     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   282 
       
   283     if( aItem.GetNextString ( string ) != KErrNone )
       
   284         {
       
   285 		VCXLOGLO1("CIptvTestUtilModule::IptvLogWrite: Could not read parameter!");
       
   286 		return KErrGeneral;
       
   287         }
       
   288 
       
   289 	VCXLOGLO2("%S", &string);
       
   290 
       
   291     return KErrNone;
       
   292 	//VCXLOGLO1("<<<CIptvTestUtilModule::IptvLogWrite");
       
   293     }
       
   294 
       
   295 // -----------------------------------------------------------------------------
       
   296 // CIptvTestUtilModule::ConnectL
       
   297 // -----------------------------------------------------------------------------
       
   298 //
       
   299 TInt CIptvTestUtilModule::ConnectL( CStifItemParser& aItem )
       
   300 	{
       
   301     VCXLOGLO1(">>>CIptvTestUtilModule::ConnectL");
       
   302     // Print to UI
       
   303     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   304     _LIT( KWhere, "In ConnectL" );
       
   305     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   306     // Print to log file
       
   307     iLog->Log( KWhere );
       
   308 
       
   309     if(iConnect)
       
   310     	{
       
   311     	VCXLOGLO1("CIptvTestUtilModule:: Connection already exists.");
       
   312     	return KErrAlreadyExists;
       
   313     	}
       
   314 
       
   315 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   316 
       
   317     TInt err = KErrNone;
       
   318 
       
   319 	TPtrC iapName;
       
   320 
       
   321 	if(KErrNone != aItem.GetNextString(iapName) )
       
   322     	{
       
   323 	    VCXLOGLO1("** FAIL ** Invalid testcase parameter! Iap name was not specified.");
       
   324         iLog->Log( _L("** FAIL ** Invalid testcase parameter! Iap name was not specified.") );
       
   325         VCXLOGLO1("<<<CIptvTestUtilModule::ConnectL");
       
   326     	return KErrGeneral;
       
   327     	}
       
   328 
       
   329 	TBufC<256> name(iapName);
       
   330 	TUint32 iapId;
       
   331 	if(!iTestCommon->GetIapIdL(name, iapId))
       
   332 		{
       
   333 	    VCXLOGLO2("** FAIL ** Could not find iap with name %S.", &name);
       
   334         iLog->Log( _L("** FAIL ** Could not find specified iap.") );
       
   335         VCXLOGLO1("<<<CIptvTestUtilModule::ConnectL");
       
   336     	return KErrGeneral;
       
   337 		}
       
   338 
       
   339 	iRetryCount = 10;
       
   340 
       
   341     iConnect = CTestUtilConnection::NewL(this);
       
   342 
       
   343     iConnect->SetConnectionPreferences(KCommDbBearerUnknown, iapId);
       
   344     iConnect->ConnectL();
       
   345 
       
   346 	if(!iTimer)
       
   347 		{
       
   348 		iTimer = CIptvTestTimer::NewL(*this, KConnectionTimerId);
       
   349 		}
       
   350 	iTimer->After(1000000 * 20);
       
   351 
       
   352 	VCXLOGLO1("<<<CIptvTestUtilModule::ConnectL");
       
   353     return err;
       
   354 	}
       
   355 
       
   356 // -----------------------------------------------------------------------------
       
   357 // CIptvTestUtilModule::AttachL
       
   358 // -----------------------------------------------------------------------------
       
   359 //
       
   360 TInt CIptvTestUtilModule::AttachL( CStifItemParser& aItem )
       
   361 	{
       
   362     VCXLOGLO1(">>>CIptvTestUtilModule::AttachL");
       
   363     // Print to UI
       
   364     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   365     _LIT( KWhere, "In AttachL" );
       
   366     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   367     // Print to log file
       
   368     iLog->Log( KWhere );
       
   369 
       
   370     if(iConnect)
       
   371     	{
       
   372     	VCXLOGLO1("<<<CIptvTestUtilModule:: Connection already exists.");
       
   373     	return KErrAlreadyExists;
       
   374     	}
       
   375 
       
   376 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   377 
       
   378     TInt err = KErrNone;
       
   379 
       
   380 	TRAP(err, PrintIAPs() );
       
   381 
       
   382 	TPtrC iapName;
       
   383 
       
   384 	if(KErrNone != aItem.GetNextString(iapName) )
       
   385     	{
       
   386 	    VCXLOGLO1("** FAIL ** Invalid testcase parameter! Iap name was not specified.");
       
   387         iLog->Log( _L("** FAIL ** Invalid testcase parameter! Iap name was not specified.") );
       
   388         VCXLOGLO1("<<<CIptvTestUtilModule::AttachL");
       
   389     	return KErrGeneral;
       
   390     	}
       
   391 
       
   392 	TBufC<256> name(iapName);
       
   393 	TUint32 iapId;
       
   394 	if(!iTestCommon->GetIapIdL(name, iapId))
       
   395 		{
       
   396 	    VCXLOGLO2("** FAIL ** Could not find iap with name %S.", &name);
       
   397         iLog->Log( _L("** FAIL ** Could not find specified iap.") );
       
   398         VCXLOGLO1("<<<CIptvTestUtilModule::AttachL");
       
   399     	return KErrGeneral;
       
   400 		}
       
   401 
       
   402     iConnect = CTestUtilConnection::NewL(this);
       
   403 
       
   404     iConnect->SetConnectionPreferences(KCommDbBearerUnknown, iapId);
       
   405     iConnect->AttachL();
       
   406 
       
   407     if(!iTimer)
       
   408         {
       
   409         iTimer = CIptvTestTimer::NewL(*this, KConnectionTimerId);
       
   410         }
       
   411 	iTimer->After(1000000 * 20);
       
   412 
       
   413 	VCXLOGLO1("<<<CIptvTestUtilModule::AttachL");
       
   414     return err;
       
   415 	}
       
   416 
       
   417 // -----------------------------------------------------------------------------
       
   418 // CIptvTestUtilModule::DisconnectL
       
   419 // -----------------------------------------------------------------------------
       
   420 //
       
   421 TInt CIptvTestUtilModule::DisconnectL( CStifItemParser& /* aItem */ )
       
   422 	{
       
   423     VCXLOGLO1(">>>CIptvTestUtilModule::DisconnectL");
       
   424     // Print to UI
       
   425     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   426     _LIT( KWhere, "In DisconnectL" );
       
   427     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   428     // Print to log file
       
   429     iLog->Log( KWhere );
       
   430 
       
   431     TInt err = KErrNone;
       
   432 
       
   433     if(iTimer)
       
   434     	{
       
   435     	iTimer->CancelTimer();
       
   436     	}
       
   437 
       
   438     delete iConnect;
       
   439     iConnect = NULL;
       
   440 
       
   441 	VCXLOGLO1("<<<CIptvTestUtilModule::DisconnectL");
       
   442     return err;
       
   443 	}
       
   444 
       
   445 // -----------------------------------------------------------------------------
       
   446 // CIptvTestUtilModule::TerminateConnectionL
       
   447 // -----------------------------------------------------------------------------
       
   448 //
       
   449 TInt CIptvTestUtilModule::TerminateConnectionL( CStifItemParser& /* aItem */ )
       
   450 	{
       
   451     VCXLOGLO1(">>>CIptvTestUtilModule::TerminateConnectionL");
       
   452     // Print to UI
       
   453     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   454     _LIT( KWhere, "In TerminateConnectionL" );
       
   455     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   456     // Print to log file
       
   457     iLog->Log( KWhere );
       
   458 
       
   459     TInt err = KErrNone;
       
   460 
       
   461     if(iConnect)
       
   462     	{
       
   463     	iConnect->TerminateConnectionL();
       
   464 
       
   465 	    delete iConnect;
       
   466 	    iConnect = NULL;
       
   467     	}
       
   468 
       
   469     if(iTimer)
       
   470     	{
       
   471     	iTimer->CancelTimer();
       
   472     	}
       
   473 
       
   474 	VCXLOGLO1("<<<CIptvTestUtilModule::TerminateConnectionL");
       
   475     return err;
       
   476 	}
       
   477 
       
   478 // -----------------------------------------------------------------------------
       
   479 // CIptvTestUtilModule::DownloadL
       
   480 // -----------------------------------------------------------------------------
       
   481 //
       
   482 TInt CIptvTestUtilModule::DownloadL( CStifItemParser& aItem  )
       
   483 	{
       
   484     VCXLOGLO1(">>>CIptvTestUtilModule::DownloadL");
       
   485     // Print to UI
       
   486     _LIT( KIptvTestUtilModule, "IptvTestUtilModule" );
       
   487     _LIT( KWhere, "In DownloadL" );
       
   488     TestModuleIf().Printf( 0, KIptvTestUtilModule, KWhere );
       
   489     // Print to log file
       
   490     iLog->Log( KWhere );
       
   491 
       
   492     TInt err = KErrNone;
       
   493 
       
   494  	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   495 
       
   496  	TPtrC pAddress, pOutFile, pUserName, pPassword, pIapName;
       
   497 
       
   498     if( aItem.GetNextString ( pAddress ) != KErrNone )
       
   499         {
       
   500 		VCXLOGLO1("CIptvTestUtilModule::DownloadL: Could not read parameter address!");
       
   501 		return KErrGeneral;
       
   502         }
       
   503 
       
   504     HBufC* heapBuffer = HBufC::NewL(4000);
       
   505     TPtr ptr( heapBuffer->Des() );
       
   506     ptr.Copy( pAddress );
       
   507 
       
   508     if( aItem.GetNextString ( pOutFile ) != KErrNone )
       
   509         {
       
   510 		VCXLOGLO1("CIptvTestUtilModule::DownloadL: Could not read parameter outputfile!");
       
   511 		return KErrGeneral;
       
   512         }
       
   513 
       
   514     if( aItem.GetNextString ( pUserName ) != KErrNone )
       
   515         {
       
   516 		VCXLOGLO1("CIptvTestUtilModule::DownloadL: no user name specified!");
       
   517         }
       
   518 
       
   519     if( aItem.GetNextString ( pPassword ) != KErrNone )
       
   520         {
       
   521 		VCXLOGLO1("CIptvTestUtilModule::DownloadL: no password specified!");
       
   522         }
       
   523 
       
   524     if( aItem.GetNextString ( pIapName ) != KErrNone )
       
   525         {
       
   526 		VCXLOGLO1("CIptvTestUtilModule::DownloadL: no iap specified!");
       
   527         }
       
   528 
       
   529 	VCXLOGLO2("Address: %S", &pAddress);
       
   530 	VCXLOGLO2("OutFile: %S", &pOutFile);
       
   531 	VCXLOGLO2("name: %S", &pUserName);
       
   532 	VCXLOGLO2("Password: %S", &pPassword);
       
   533 	VCXLOGLO2("Iap: %S", &pIapName);
       
   534 
       
   535 	if(!iDownload)
       
   536 		{
       
   537 		iDownload = CIptvTestDownloadManager::NewL(this);
       
   538 		}
       
   539 
       
   540     TUint32 iapId(0);
       
   541     GetIap(pIapName, iapId);
       
   542 
       
   543 	err = iDownload->DownloadL(ptr, pOutFile, pUserName, pPassword, iapId);
       
   544 	if(err != KErrNone)
       
   545 		{
       
   546 		VCXLOGLO2("iDownload returned: %d", err);
       
   547 		}
       
   548 
       
   549 	VCXLOGLO1("<<<CIptvTestUtilModule::DownloadL");
       
   550     return err;
       
   551 	}
       
   552 
       
   553 // -----------------------------------------------------------------------------
       
   554 // CIptvTestUtilModule::StopDownloadsL
       
   555 // -----------------------------------------------------------------------------
       
   556 //
       
   557 TInt CIptvTestUtilModule::StopDownloadsL( CStifItemParser& /* aItem */ )
       
   558 	{
       
   559 
       
   560     VCXLOGLO1(">>>CIptvTestUtilModule::StopDownloads");
       
   561     // Print to UI
       
   562     _LIT( KIptvTestUtilModule, "IptvTestUtilModule" );
       
   563     _LIT( KWhere, "In StopDownloadsL" );
       
   564     TestModuleIf().Printf( 0, KIptvTestUtilModule, KWhere );
       
   565     // Print to log file
       
   566     iLog->Log( KWhere );
       
   567 
       
   568     TInt err = KErrNone;
       
   569 
       
   570 	if(iDownload)
       
   571 		{
       
   572 		delete iDownload;
       
   573 		iDownload = NULL;
       
   574 		}
       
   575 
       
   576 	VCXLOGLO1("<<<CIptvTestUtilModule::StopDownloads");
       
   577     return err;
       
   578 	}
       
   579 
       
   580 // -----------------------------------------------------------------------------
       
   581 // CIptvTestUtilModule::ConnectionCreated
       
   582 // -----------------------------------------------------------------------------
       
   583 //
       
   584 void CIptvTestUtilModule::ConnectionCreated()
       
   585 	{
       
   586 	VCXLOGLO1("CIptvTestUtilModule:: Connection created.");
       
   587     if(iTimer)
       
   588     	{
       
   589     	iTimer->CancelTimer();
       
   590     	}
       
   591 	Signal();
       
   592 	}
       
   593 
       
   594 // -----------------------------------------------------------------------------
       
   595 // CIptvTestUtilModule::ConnectionClosed
       
   596 // -----------------------------------------------------------------------------
       
   597 //
       
   598 void CIptvTestUtilModule::ConnectionClosed()
       
   599 	{
       
   600 	VCXLOGLO1("CIptvTestUtilModule:: Connection closed.");
       
   601 	Signal();
       
   602     if(iTimer)
       
   603     	{
       
   604     	iTimer->CancelTimer();
       
   605     	}
       
   606 
       
   607 	}
       
   608 
       
   609 // -----------------------------------------------------------------------------
       
   610 // CIptvTestUtilModule::ConnectionTimeout
       
   611 // -----------------------------------------------------------------------------
       
   612 //
       
   613 void CIptvTestUtilModule::ConnectionTimeout()
       
   614 	{
       
   615 	VCXLOGLO1("CIptvTestUtilModule:: Connection timeout!");
       
   616 	Signal(KErrTimedOut);
       
   617     if(iTimer)
       
   618     	{
       
   619     	iTimer->CancelTimer();
       
   620     	}
       
   621 
       
   622 	}
       
   623 
       
   624 // -----------------------------------------------------------------------------
       
   625 // CIptvTestUtilModule::ConnectionFailed
       
   626 // -----------------------------------------------------------------------------
       
   627 //
       
   628 void CIptvTestUtilModule::ConnectionFailed()
       
   629 	{
       
   630 	if(--iRetryCount <= 0)
       
   631 		{
       
   632 		Signal(KErrGeneral);
       
   633 		VCXLOGLO1("CIptvTestUtilModule:: Connection failed!");
       
   634 		}
       
   635 	else
       
   636 		{
       
   637 		VCXLOGLO1("CIptvTestUtilModule:: retrying");
       
   638 		iConnect->ConnectL();
       
   639 		}
       
   640     if(iTimer)
       
   641     	{
       
   642     	iTimer->CancelTimer();
       
   643     	}
       
   644 	}
       
   645 
       
   646 // -----------------------------------------------------------------------------
       
   647 // CIptvTestUtilModule::ConnectionAlreadyExists
       
   648 // -----------------------------------------------------------------------------
       
   649 //
       
   650 void CIptvTestUtilModule::ConnectionAlreadyExists()
       
   651 	{
       
   652 	VCXLOGLO1("CIptvTestUtilModule:: Connection already exists.");
       
   653     if(iTimer)
       
   654     	{
       
   655     	iTimer->CancelTimer();
       
   656     	}
       
   657 	Signal();
       
   658 	}
       
   659 
       
   660 // -----------------------------------------------------------------------------
       
   661 // CIptvTestUtilModule::DownloadFinished
       
   662 // -----------------------------------------------------------------------------
       
   663 //
       
   664 void CIptvTestUtilModule::DownloadFinished(TInt aError)
       
   665 	{
       
   666 	VCXLOGLO1("CIptvTestUtilModule:: Download finished.");
       
   667 	Signal(aError);
       
   668 	}
       
   669 
       
   670 // -----------------------------------------------------------------------------
       
   671 // CIptvTestUtilModule::PrintIAPs
       
   672 // -----------------------------------------------------------------------------
       
   673 //
       
   674 void CIptvTestUtilModule::PrintIAPs()
       
   675     {
       
   676     RArray<TUint32> idArray;
       
   677     CleanupClosePushL( idArray );
       
   678 
       
   679     CDesCArrayFlat* nameArray = new (ELeave) CDesCArrayFlat(16);
       
   680     CleanupStack::PushL( nameArray );
       
   681 
       
   682     // Get IAP names and ids from the database
       
   683     CCommsDatabase* TheDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
       
   684     CleanupStack::PushL( TheDb );
       
   685 
       
   686     TheDb->ShowHiddenRecords();
       
   687 
       
   688     CCommsDbTableView* view = TheDb->OpenTableLC( TPtrC(IAP) );
       
   689     //Ethernet with Daemon Dynamic IP
       
   690     TBuf<40> name;
       
   691     TUint32 id;
       
   692     TInt res = view->GotoFirstRecord();
       
   693     while( res == KErrNone )
       
   694     {
       
   695         view->ReadTextL( TPtrC(COMMDB_NAME), name );
       
   696         view->ReadUintL( TPtrC(COMMDB_ID), id );
       
   697 
       
   698         idArray.Insert( id, 0 );
       
   699         nameArray->InsertL( 0, name );
       
   700 
       
   701         res = view->GotoNextRecord();
       
   702         VCXLOGLO3("IAP name, id: %S, %d", &name, id);
       
   703     }
       
   704 
       
   705     CleanupStack::PopAndDestroy( view ); // view
       
   706     CleanupStack::PopAndDestroy( TheDb ); // TheDb
       
   707 
       
   708     CleanupStack::PopAndDestroy( 2, &idArray );  // nameArray, idArray
       
   709     }
       
   710 
       
   711 // -----------------------------------------------------------------------------
       
   712 // CIptvTestUtilModule::GetIap
       
   713 // -----------------------------------------------------------------------------
       
   714 //
       
   715 void CIptvTestUtilModule::GetIap(TDesC& aIapName, TUint32& aIapId)
       
   716     {
       
   717     VCXLOGLO1(">>>CIptvTestUtilModule::GetIap");
       
   718     RArray<TUint32> idArray;
       
   719     CleanupClosePushL( idArray );
       
   720 
       
   721     CDesCArrayFlat* nameArray = new (ELeave) CDesCArrayFlat(16);
       
   722     CleanupStack::PushL( nameArray );
       
   723 
       
   724     // Get IAP names and ids from the database
       
   725     CCommsDatabase* TheDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
       
   726     CleanupStack::PushL( TheDb );
       
   727 
       
   728     TheDb->ShowHiddenRecords();
       
   729 
       
   730     CCommsDbTableView* view = TheDb->OpenTableLC( TPtrC(IAP) );
       
   731     //Ethernet with Daemon Dynamic IP
       
   732     TBuf<40> name;
       
   733     TUint32 id;
       
   734     TInt res = view->GotoFirstRecord();
       
   735     while( res == KErrNone )
       
   736     {
       
   737         view->ReadTextL( TPtrC(COMMDB_NAME), name );
       
   738         view->ReadUintL( TPtrC(COMMDB_ID), id );
       
   739 
       
   740 #ifdef __WINSCW__
       
   741         if(_L("Ethernet with Daemon Dynamic IP") == name)
       
   742             {
       
   743             aIapId = id;
       
   744             VCXLOGLO3("CIptvTestUtilModule:: Found IAP: %d, %S", _L("Ethernet with Daemon Dynamic IP"), &aIapName);
       
   745             }
       
   746 #else
       
   747         if(aIapName == name)
       
   748             {
       
   749             aIapId = id;
       
   750             VCXLOGLO3("CIptvTestUtilModule:: Found IAP: %d, %S", aIapId, &aIapName);
       
   751             }
       
   752 #endif
       
   753 
       
   754         idArray.Insert( id, 0 );
       
   755         nameArray->InsertL( 0, name );
       
   756 
       
   757         res = view->GotoNextRecord();
       
   758     }
       
   759 
       
   760     CleanupStack::PopAndDestroy( view ); // view
       
   761     CleanupStack::PopAndDestroy( TheDb ); // TheDb
       
   762 
       
   763     CleanupStack::PopAndDestroy( 2, &idArray );  // nameArray, idArray
       
   764     VCXLOGLO1("<<<CIptvTestUtilModule::GetIap");
       
   765     }
       
   766 
       
   767 // -----------------------------------------------------------------------------
       
   768 // CIptvTestUtilModule::WaitForConnectionActivityL
       
   769 // -----------------------------------------------------------------------------
       
   770 //
       
   771 TInt CIptvTestUtilModule::WaitForConnectionActivityL(CStifItemParser& aItem )
       
   772 	{
       
   773     VCXLOGLO1(">>>CIptvTestUtilModule::WaitForConnectionActivityL");
       
   774     // Print to UI
       
   775     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   776     _LIT( KWhere, "In WaitForConnectionActivityL" );
       
   777     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   778     // Print to log file
       
   779     iLog->Log( KWhere );
       
   780 
       
   781 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   782 
       
   783     TInt err = KErrNone;
       
   784 
       
   785 	TPtrC iapName;
       
   786 
       
   787 	if( KErrNone != aItem.GetNextString(iapName) )
       
   788     	{
       
   789 	    VCXLOGLO1("** FAIL ** Invalid testcase parameter! Iap name was not specified.");
       
   790         iLog->Log( _L("** FAIL ** Invalid testcase parameter! Iap name was not specified.") );
       
   791         VCXLOGLO1("<<<CIptvTestUtilModule::WaitForConnectionActivityL");
       
   792     	return KErrGeneral;
       
   793     	}
       
   794 
       
   795 	if( iConnectionWaiter == NULL )
       
   796 		{
       
   797 		iConnectionWaiter = CTestUtilConnectionWaiter::NewL(this);
       
   798 		}
       
   799 
       
   800 	TUint32 iapId;
       
   801 	if( !iTestCommon->GetIapIdL( iapName, iapId ) )
       
   802 		{
       
   803 	    VCXLOGLO2("** FAIL ** Could not find iap with name %S.", &iapName);
       
   804         iLog->Log( _L("** FAIL ** Could not find specified iap.") );
       
   805         VCXLOGLO1("<<<CIptvTestUtilModule::WaitForConnectionActivityL");
       
   806     	return KErrArgument;
       
   807 		}
       
   808 	
       
   809 	iConnectionWaiter->WaitForConnection(iapId);
       
   810 
       
   811 	VCXLOGLO1("<<<CIptvTestUtilModule::WaitForConnectionActivityL");
       
   812     return err;
       
   813 	}
       
   814 
       
   815 // -----------------------------------------------------------------------------
       
   816 // CIptvTestUtilModule::WaitUntilConnectionIsClosed
       
   817 // -----------------------------------------------------------------------------
       
   818 //
       
   819 TInt CIptvTestUtilModule::WaitUntilConnectionIsClosed(CStifItemParser& aItem )
       
   820 	{
       
   821     VCXLOGLO1(">>>CIptvTestUtilModule::WaitUntilConnectionIsClosed");
       
   822     // Print to UI
       
   823     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   824     _LIT( KWhere, "In WaitForConnectionActivityL" );
       
   825     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   826     // Print to log file
       
   827     iLog->Log( KWhere );
       
   828 
       
   829 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   830 
       
   831     TInt err = KErrNone;
       
   832 
       
   833 	TRAP(err, PrintIAPs() );
       
   834 
       
   835 	TPtrC iapName;
       
   836 
       
   837 	if(KErrNone != aItem.GetNextString(iapName) )
       
   838     	{
       
   839 	    VCXLOGLO1("** FAIL ** Invalid testcase parameter! Iap name was not specified.");
       
   840         iLog->Log( _L("** FAIL ** Invalid testcase parameter! Iap name was not specified.") );
       
   841         VCXLOGLO1("<<<CIptvTestUtilModule::WaitUntilConnectionIsClosed");
       
   842     	return KErrGeneral;
       
   843     	}
       
   844 
       
   845 	if(iConnectionWaiter == NULL)
       
   846 		{
       
   847 		iConnectionWaiter = CTestUtilConnectionWaiter::NewL(this);
       
   848 		}
       
   849 
       
   850 	TUint32 iapId;
       
   851 	if(!iTestCommon->GetIapIdL(iapName, iapId))
       
   852 		{
       
   853 	    VCXLOGLO2("** FAIL ** Could not find iap with name %S.", &iapName);
       
   854         iLog->Log( _L("** FAIL ** Could not find specified iap.") );
       
   855         VCXLOGLO1("<<<CIptvTestUtilModule::WaitUntilConnectionIsClosed");
       
   856     	return KErrArgument;
       
   857 		}
       
   858 
       
   859 	iConnectionWaiter->WaitUntilConnectionIsClosed(iapId);
       
   860 
       
   861 	VCXLOGLO1("<<<CIptvTestUtilModule::WaitUntilConnectionIsClosed");
       
   862     return KErrNone;
       
   863 	}
       
   864 
       
   865 // -----------------------------------------------------------------------------
       
   866 // CIptvTestUtilModule::TimerComplete
       
   867 // -----------------------------------------------------------------------------
       
   868 //
       
   869 void CIptvTestUtilModule::TimerComplete(TInt aTimerId, TInt aError )
       
   870 	{
       
   871 	VCXLOGLO1(">>>CIptvTestUtilModule::TimerComplete");
       
   872 	VCXLOGLO2(">>>CIptvTestUtilModule:: aError: %d", aError);
       
   873 
       
   874 	if(aError == KErrNone && aTimerId == KConnectionTimerId)
       
   875 	{
       
   876 		VCXLOGLO1("* ERROR * Connection timedout!");
       
   877 		Signal(KErrTimedOut);
       
   878 	}
       
   879 
       
   880 	VCXLOGLO1("<<<CIptvTestUtilModule::TimerComplete");
       
   881 	}
       
   882 
       
   883 // -----------------------------------------------------------------------------
       
   884 // CIptvTestUtilModule::AdvanceSystemTime1Second
       
   885 // -----------------------------------------------------------------------------
       
   886 //
       
   887 TInt CIptvTestUtilModule::AdvanceSystemTime1Second(CStifItemParser& /* aItem */ )
       
   888 	{
       
   889     VCXLOGLO1(">>>CIptvTestUtilModule::AdvanceSystemTime1Second");
       
   890     // Print to UI
       
   891     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   892     _LIT( KWhere, "In AdvanceSystemTime1Second" );
       
   893     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   894     // Print to log file
       
   895     iLog->Log( KWhere );
       
   896 
       
   897     TInt err = CVCXTestCommon::AdvanceSystemTimeSeconds(1);
       
   898 
       
   899 	VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTime1Second");
       
   900 	return err;
       
   901 	}
       
   902 
       
   903 // -----------------------------------------------------------------------------
       
   904 // CIptvTestUtilModule::AdvanceSystemTimeSeconds
       
   905 // -----------------------------------------------------------------------------
       
   906 //
       
   907 TInt CIptvTestUtilModule::AdvanceSystemTimeSeconds(CStifItemParser& aItem )
       
   908     {
       
   909     VCXLOGLO1(">>>CIptvTestUtilModule::AdvanceSystemTimeSeconds");
       
   910     // Print to UI
       
   911     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   912     _LIT( KWhere, "In AdvanceSystemTimeSeconds" );
       
   913     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   914     // Print to log file
       
   915     iLog->Log( KWhere );
       
   916 
       
   917     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   918 
       
   919     TInt count;
       
   920     if(aItem.GetNextInt(count) != KErrNone)
       
   921         {
       
   922         VCXLOGLO1("* ERROR * Parameter missing.");
       
   923         VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeDays");
       
   924         return KErrArgument;
       
   925         }
       
   926 
       
   927     TInt err = CVCXTestCommon::AdvanceSystemTimeSeconds(count);
       
   928 
       
   929     VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeSeconds");
       
   930     return err;
       
   931     }
       
   932 
       
   933 // -----------------------------------------------------------------------------
       
   934 // CIptvTestUtilModule::AdvanceSystemTimeMinutes
       
   935 // -----------------------------------------------------------------------------
       
   936 //
       
   937 TInt CIptvTestUtilModule::AdvanceSystemTimeMinutes(CStifItemParser& aItem )
       
   938     {
       
   939     VCXLOGLO1(">>>CIptvTestUtilModule::AdvanceSystemTimeMinutes");
       
   940     // Print to UI
       
   941     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   942     _LIT( KWhere, "In AdvanceSystemTimeMinutes" );
       
   943     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   944     // Print to log file
       
   945     iLog->Log( KWhere );
       
   946 
       
   947     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   948 
       
   949     TInt count;
       
   950     if(aItem.GetNextInt(count) != KErrNone)
       
   951         {
       
   952         VCXLOGLO1("* ERROR * Parameter missing.");
       
   953         VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeDays");
       
   954         return KErrArgument;
       
   955         }
       
   956 
       
   957     TInt err = CVCXTestCommon::AdvanceSystemTimeMinutes(count);
       
   958 
       
   959     VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeMinutes");
       
   960     return err;
       
   961     }
       
   962 
       
   963 // -----------------------------------------------------------------------------
       
   964 // CIptvTestUtilModule::AdvanceSystemTimeHours
       
   965 // -----------------------------------------------------------------------------
       
   966 //
       
   967 TInt CIptvTestUtilModule::AdvanceSystemTimeHours(CStifItemParser& aItem )
       
   968     {
       
   969     VCXLOGLO1(">>>CIptvTestUtilModule::AdvanceSystemTimeHours");
       
   970     // Print to UI
       
   971     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
   972     _LIT( KWhere, "In AdvanceSystemTimeHours" );
       
   973     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
   974     // Print to log file
       
   975     iLog->Log( KWhere );
       
   976 
       
   977     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
   978 
       
   979     TInt count;
       
   980     if(aItem.GetNextInt(count) != KErrNone)
       
   981         {
       
   982         VCXLOGLO1("* ERROR * Parameter missing.");
       
   983         VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeDays");
       
   984         return KErrArgument;
       
   985         }
       
   986 
       
   987     TInt err = CVCXTestCommon::AdvanceSystemTimeHours(count);
       
   988 
       
   989     VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeHours");
       
   990     return err;
       
   991     }
       
   992 
       
   993 // -----------------------------------------------------------------------------
       
   994 // CIptvTestUtilModule::AdvanceSystemTimeDays
       
   995 // -----------------------------------------------------------------------------
       
   996 //
       
   997 TInt CIptvTestUtilModule::AdvanceSystemTimeDays(CStifItemParser& aItem )
       
   998 	{
       
   999     VCXLOGLO1(">>>CIptvTestUtilModule::AdvanceSystemTimeDays");
       
  1000     // Print to UI
       
  1001     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1002     _LIT( KWhere, "In AdvanceSystemTimeDays" );
       
  1003     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1004     // Print to log file
       
  1005     iLog->Log( KWhere );
       
  1006 
       
  1007     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1008 
       
  1009     TInt daysInt;
       
  1010 	if(aItem.GetNextInt(daysInt) != KErrNone)
       
  1011 		{
       
  1012 		VCXLOGLO1("* ERROR * Parameter days missing.");
       
  1013 		VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeDays");
       
  1014 		return KErrArgument;
       
  1015     	}
       
  1016 
       
  1017     TTime now;
       
  1018     now.HomeTime();
       
  1019 
       
  1020     TTimeIntervalDays days(daysInt);
       
  1021     now += days;
       
  1022 
       
  1023     TInt err = CVCXTestCommon::SetSystemTime(now);
       
  1024 
       
  1025 	VCXLOGLO1("<<<CIptvTestUtilModule::AdvanceSystemTimeDays");
       
  1026 
       
  1027 	return err;
       
  1028 }
       
  1029 
       
  1030 // -----------------------------------------------------------------------------
       
  1031 // CIptvTestUtilModule::SetSystemTime
       
  1032 // -----------------------------------------------------------------------------
       
  1033 //
       
  1034 TInt CIptvTestUtilModule::SetSystemTime(CStifItemParser& aItem )
       
  1035 	{
       
  1036     VCXLOGLO1(">>>CIptvTestUtilModule::SetSystemTime");
       
  1037     // Print to UI
       
  1038     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1039     _LIT( KWhere, "In SetSystemTime" );
       
  1040     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1041     // Print to log file
       
  1042     iLog->Log( KWhere );
       
  1043 
       
  1044     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1045 
       
  1046     TPtrC dayString;
       
  1047 	if(aItem.GetNextString(dayString) != KErrNone)
       
  1048 		{
       
  1049 		VCXLOGLO1("* ERROR * Parameter missing.");
       
  1050 		VCXLOGLO1("<<<CIptvTestUtilModule::SetSystemTime");
       
  1051 		return KErrArgument;
       
  1052     	}
       
  1053 
       
  1054     TTime time( dayString );
       
  1055     TInt err = CVCXTestCommon::SetSystemTime(time);
       
  1056 
       
  1057 	VCXLOGLO1("<<<CIptvTestUtilModule::SetSystemTime");
       
  1058 	return err;
       
  1059 }
       
  1060 
       
  1061 // -----------------------------------------------------------------------------
       
  1062 // CIptvTestUtilModule::SetSystemTimeToday
       
  1063 // -----------------------------------------------------------------------------
       
  1064 //
       
  1065 TInt CIptvTestUtilModule::SetSystemTimeToday(CStifItemParser& aItem )
       
  1066     {
       
  1067     VCXLOGLO1(">>>CIptvTestUtilModule::SetSystemTimeToday");
       
  1068     // Print to UI
       
  1069     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1070     _LIT( KWhere, "In SetSystemTimeToday" );
       
  1071     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1072     // Print to log file
       
  1073     iLog->Log( KWhere );
       
  1074 
       
  1075     TInt hour( 0 );
       
  1076     TInt minute( 0 );
       
  1077 
       
  1078     aItem.GetNextInt( hour );
       
  1079     aItem.GetNextInt( minute );
       
  1080 
       
  1081     TTime time;
       
  1082     TBuf<256> timeString;
       
  1083     time.HomeTime();
       
  1084     time.FormatL( timeString, KDateTimeString );
       
  1085     VCXLOGLO2("CIptvTestUtilModule::SetSystemTimeToday -- HomeTime() %S", &timeString);
       
  1086 
       
  1087     TDateTime dateTime( time.DateTime() );
       
  1088     dateTime = time.DateTime();
       
  1089     dateTime.SetHour( hour );
       
  1090     dateTime.SetMinute( minute );
       
  1091 
       
  1092     time = dateTime;
       
  1093     time.FormatL( timeString, KDateTimeString );
       
  1094     VCXLOGLO2("CIptvTestUtilModule::SetSystemTimeToday -- System time set to: %S", &timeString);
       
  1095 
       
  1096 	/*
       
  1097 		time.UniversalTime();
       
  1098     time.FormatL( timeString, KDateTimeString );
       
  1099     VCXLOGLO2("CIptvTestUtilModule::SetSystemTimeToday -- Universal time: %S", &timeString);
       
  1100     */
       
  1101 
       
  1102     TInt err = CVCXTestCommon::SetSystemTime(time);
       
  1103 
       
  1104     VCXLOGLO1("<<<CIptvTestUtilModule::SetSystemTimeToday");
       
  1105     return err;
       
  1106 }
       
  1107 
       
  1108 // -----------------------------------------------------------------------------
       
  1109 // CIptvTestUtilModule::SetTimeZone
       
  1110 // -----------------------------------------------------------------------------
       
  1111 //
       
  1112 TInt CIptvTestUtilModule::SetTimeZone(CStifItemParser& aItem )
       
  1113 	{
       
  1114     VCXLOGLO1(">>>CIptvTestUtilModule::SetTimeZone");
       
  1115     // Print to UI
       
  1116     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1117     _LIT( KWhere, "In SetTimeZone" );
       
  1118     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1119     // Print to log file
       
  1120     iLog->Log( KWhere );
       
  1121 
       
  1122     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1123 
       
  1124     TPtrC timeZone;
       
  1125 	if(aItem.GetNextString(timeZone) != KErrNone)
       
  1126 		{
       
  1127 		VCXLOGLO1("* ERROR * Parameter missing.");
       
  1128 		VCXLOGLO1("<<<CIptvTestUtilModule::SetTimeZone");
       
  1129 		return KErrArgument;
       
  1130     	}
       
  1131 
       
  1132     TInt err = CVCXTestCommon::SetTimeZone(timeZone);
       
  1133 
       
  1134 	VCXLOGLO1("<<<CIptvTestUtilModule::SetTimeZone");
       
  1135 	return err;
       
  1136 }
       
  1137 
       
  1138 // -----------------------------------------------------------------------------
       
  1139 // CIptvTestUtilModule::CreateMobilecrashWatcherL
       
  1140 // -----------------------------------------------------------------------------
       
  1141 //
       
  1142 TInt CIptvTestUtilModule::CreateMobilecrashWatcherL(CStifItemParser& /* aItem */ )
       
  1143 	{
       
  1144     VCXLOGLO1(">>>CIptvTestUtilModule::CreateMobilecrashWatcherL");
       
  1145     // Print to UI
       
  1146     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1147     _LIT( KWhere, "In CreateMobilecrashWatcherL" );
       
  1148     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1149     // Print to log file
       
  1150     iLog->Log( KWhere );
       
  1151 
       
  1152 	if(iIptvTestMobilecrashWatcher)
       
  1153 		{
       
  1154 		delete iIptvTestMobilecrashWatcher;
       
  1155 		iIptvTestMobilecrashWatcher = NULL;
       
  1156 		}
       
  1157 
       
  1158 	iIptvTestMobilecrashWatcher = CIptvTestMobilecrashWatcher::NewL(EFalse);
       
  1159 
       
  1160 	VCXLOGLO1("<<<CIptvTestUtilModule::CreateMobilecrashWatcherL");
       
  1161 	return KErrNone;
       
  1162     }
       
  1163 
       
  1164 // -----------------------------------------------------------------------------
       
  1165 // CIptvTestUtilModule::CheckMobilecrashesL
       
  1166 // -----------------------------------------------------------------------------
       
  1167 //
       
  1168 TInt CIptvTestUtilModule::CheckMobilecrashesL(CStifItemParser& /* aItem */ )
       
  1169 	{
       
  1170     VCXLOGLO1(">>>CIptvTestUtilModule::CheckMobilecrashesL");
       
  1171     // Print to UI
       
  1172     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1173     _LIT( KWhere, "In CheckMobilecrashesl" );
       
  1174     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1175     // Print to log file
       
  1176     iLog->Log( KWhere );
       
  1177 
       
  1178 	if(!iIptvTestMobilecrashWatcher)
       
  1179 		{
       
  1180 		VCXLOGLO1("<<<CIptvTestUtilModule::CheckMobilecrashesL");
       
  1181 		return KErrNotReady;
       
  1182 		}
       
  1183 
       
  1184 	RPointerArray<HBufC> crashes;
       
  1185 	if(iIptvTestMobilecrashWatcher->ReturnNewCrashes(crashes))
       
  1186 		{
       
  1187 		VCXLOGLO1("<<<CIptvTestUtilModule::CheckMobilecrashesL");
       
  1188 		crashes.ResetAndDestroy();
       
  1189 		return KErrAbort;
       
  1190 		}
       
  1191 	crashes.ResetAndDestroy();
       
  1192 
       
  1193 	VCXLOGLO1("<<<CIptvTestUtilModule::CheckMobilecrashesL");
       
  1194 	return KErrNone;
       
  1195 }
       
  1196 
       
  1197 // -----------------------------------------------------------------------------
       
  1198 // CIptvTestUtilModule::CheckMobilecrashesZeroToleranceL
       
  1199 // -----------------------------------------------------------------------------
       
  1200 //
       
  1201 TInt CIptvTestUtilModule::CheckMobilecrashesZeroToleranceL(CStifItemParser& /* aItem */ )
       
  1202 	{
       
  1203     VCXLOGLO1(">>>CIptvTestUtilModule::CheckMobilecrashesZeroToleranceL");
       
  1204     // Print to UI
       
  1205     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1206     _LIT( KWhere, "In CheckMobilecrashesl" );
       
  1207     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1208     // Print to log file
       
  1209     iLog->Log( KWhere );
       
  1210 
       
  1211 	if(!iIptvTestMobilecrashWatcher)
       
  1212 		{
       
  1213 		iIptvTestMobilecrashWatcher = CIptvTestMobilecrashWatcher::NewL(EFalse);
       
  1214 		}
       
  1215 
       
  1216 	TInt ret = KErrNone;
       
  1217 	if(iIptvTestMobilecrashWatcher->ReturnMobileCrashCount() > 0)
       
  1218 		{
       
  1219 		ret = KErrAbort;
       
  1220 		}
       
  1221 
       
  1222 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1223 	VCXLOGLO1("<<<CIptvTestUtilModule::CheckMobilecrashesZeroToleranceL");
       
  1224 	return ret;
       
  1225     }
       
  1226 
       
  1227 // -----------------------------------------------------------------------------
       
  1228 // CIptvTestUtilModule::DeleteUsedDestinationCenRepL
       
  1229 // -----------------------------------------------------------------------------
       
  1230 //
       
  1231 TInt CIptvTestUtilModule::DeleteUsedDestinationCenRepL(CStifItemParser& aItem )
       
  1232 	{
       
  1233     VCXLOGLO1(">>>CIptvTestUtilModule::DeleteUsedDestinationCenRepL");
       
  1234     // Print to UI
       
  1235     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1236     _LIT( KWhere, "In DeleteUsedDestinationCenRepL" );
       
  1237     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1238     // Print to log file
       
  1239     iLog->Log( KWhere );
       
  1240 
       
  1241     TInt ret( KErrNone );
       
  1242 
       
  1243     if( !iTestUtilALR )
       
  1244         {
       
  1245         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1246         }
       
  1247 
       
  1248 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1249 
       
  1250     TRAP( ret, iTestUtilALR->RemoveUsedDestinationCenRepL() );
       
  1251 
       
  1252 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1253 	VCXLOGLO1("<<<CIptvTestUtilModule::DeleteUsedDestinationCenRepL");
       
  1254 	return ret;
       
  1255     }
       
  1256 
       
  1257 // -----------------------------------------------------------------------------
       
  1258 // CIptvTestUtilModule::SetUsedDestinationL
       
  1259 // -----------------------------------------------------------------------------
       
  1260 //
       
  1261 TInt CIptvTestUtilModule::SetUsedDestinationL(CStifItemParser& aItem )
       
  1262 	{
       
  1263     VCXLOGLO1(">>>CIptvTestUtilModule::SetUsedDestinationL");
       
  1264     // Print to UI
       
  1265     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1266     _LIT( KWhere, "In SetUsedDestinationL" );
       
  1267     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1268     // Print to log file
       
  1269     iLog->Log( KWhere );
       
  1270 
       
  1271     TInt ret( KErrNone );
       
  1272 
       
  1273     if( !iTestUtilALR )
       
  1274         {
       
  1275         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1276         }
       
  1277 
       
  1278 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1279 
       
  1280 	TPtrC destinationName;
       
  1281 	User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1282 
       
  1283     TRAP( ret, iTestUtilALR->SetUsedDestinationL( destinationName ) );
       
  1284 
       
  1285 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1286 	VCXLOGLO1("<<<CIptvTestUtilModule::SetUsedDestinationL");
       
  1287 	return ret;
       
  1288     }
       
  1289 
       
  1290 // -----------------------------------------------------------------------------
       
  1291 // CIptvTestUtilModule::CreateDestinationL
       
  1292 // -----------------------------------------------------------------------------
       
  1293 //
       
  1294 TInt CIptvTestUtilModule::CreateDestinationL(CStifItemParser& aItem )
       
  1295 	{
       
  1296     VCXLOGLO1(">>>CIptvTestUtilModule::CreateDestinationL");
       
  1297     // Print to UI
       
  1298     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1299     _LIT( KWhere, "In CreateDestinationL" );
       
  1300     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1301     // Print to log file
       
  1302     iLog->Log( KWhere );
       
  1303 
       
  1304     TInt ret( KErrNotSupported );
       
  1305 
       
  1306     if( !iTestUtilALR )
       
  1307         {
       
  1308         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1309         }
       
  1310 
       
  1311     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1312 
       
  1313 	TPtrC destinationName;
       
  1314 	User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1315 
       
  1316     TRAP(ret, iTestUtilALR->CreateDestinationL( destinationName ) );
       
  1317 
       
  1318     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1319 	VCXLOGLO1("<<<CIptvTestUtilModule::CreateDestinationL");
       
  1320 	return ret;
       
  1321     }
       
  1322 
       
  1323 // -----------------------------------------------------------------------------
       
  1324 // CIptvTestUtilModule::DeleteDestinationL
       
  1325 // -----------------------------------------------------------------------------
       
  1326 //
       
  1327 TInt CIptvTestUtilModule::DeleteDestinationL(CStifItemParser& aItem )
       
  1328 	{
       
  1329     VCXLOGLO1(">>>CIptvTestUtilModule::DeleteDestinationL");
       
  1330     // Print to UI
       
  1331     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1332     _LIT( KWhere, "In DeleteDestinationL" );
       
  1333     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1334     // Print to log file
       
  1335     iLog->Log( KWhere );
       
  1336 
       
  1337     TInt ret( KErrNotSupported );
       
  1338 
       
  1339     if( !iTestUtilALR )
       
  1340         {
       
  1341 		iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1342         }
       
  1343 
       
  1344 	aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1345 
       
  1346 	TPtrC destinationName;
       
  1347 	User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1348 
       
  1349     TRAP(ret, iTestUtilALR->DeleteDestinationL( destinationName ) );
       
  1350 
       
  1351 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1352 	VCXLOGLO1("<<<CIptvTestUtilModule::DeleteDestinationL");
       
  1353 	return ret;
       
  1354     }
       
  1355 
       
  1356 // -----------------------------------------------------------------------------
       
  1357 // CIptvTestUtilModule::CopyMethodL
       
  1358 // -----------------------------------------------------------------------------
       
  1359 //
       
  1360 TInt CIptvTestUtilModule::CopyMethodL(CStifItemParser& aItem )
       
  1361 	{
       
  1362     VCXLOGLO1(">>>CIptvTestUtilModule::CopyMethodL");
       
  1363     // Print to UI
       
  1364     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1365     _LIT( KWhere, "In CopyMethodL" );
       
  1366     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1367     // Print to log file
       
  1368     iLog->Log( KWhere );
       
  1369 
       
  1370     TInt ret( KErrNotSupported );
       
  1371 
       
  1372     if( !iTestUtilALR )
       
  1373         {
       
  1374         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1375         }
       
  1376 
       
  1377     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1378 
       
  1379 	TPtrC sourceMethodName;
       
  1380 	TPtrC targetMethodName;
       
  1381 	TPtrC targetDestinationName;
       
  1382 
       
  1383 	User::LeaveIfError( aItem.GetNextString( sourceMethodName ) );
       
  1384 	User::LeaveIfError( aItem.GetNextString( targetMethodName ) );
       
  1385 	User::LeaveIfError( aItem.GetNextString( targetDestinationName ) );
       
  1386 
       
  1387 	TRAP(ret, iTestUtilALR->CopyMethodL( sourceMethodName, targetMethodName, targetDestinationName ) );
       
  1388 
       
  1389 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1390 	VCXLOGLO1("<<<CIptvTestUtilModule::CopyMethodL");
       
  1391 	return ret;
       
  1392     }
       
  1393 
       
  1394 // -----------------------------------------------------------------------------
       
  1395 // CIptvTestUtilModule::DeleteMethodL
       
  1396 // -----------------------------------------------------------------------------
       
  1397 //
       
  1398 TInt CIptvTestUtilModule::DeleteMethodL(CStifItemParser& aItem )
       
  1399 	{
       
  1400     VCXLOGLO1(">>>CIptvTestUtilModule::DeleteMethodL");
       
  1401     // Print to UI
       
  1402     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1403     _LIT( KWhere, "In DeleteMethodL" );
       
  1404     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1405     // Print to log file
       
  1406     iLog->Log( KWhere );
       
  1407 
       
  1408     TInt ret( KErrNotSupported );
       
  1409 
       
  1410     if( !iTestUtilALR )
       
  1411         {
       
  1412         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1413         }
       
  1414 
       
  1415     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1416 
       
  1417     TPtrC destinationName;
       
  1418 	TPtrC methodName;
       
  1419 
       
  1420 	User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1421 	User::LeaveIfError( aItem.GetNextString( methodName ) );
       
  1422 
       
  1423 	TRAP(ret, iTestUtilALR->DeleteMethodL( destinationName, methodName ) );
       
  1424 
       
  1425 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1426 	VCXLOGLO1("<<<CIptvTestUtilModule::DeleteMethodL");
       
  1427 	return ret;
       
  1428     }
       
  1429 
       
  1430 // -----------------------------------------------------------------------------
       
  1431 // CIptvTestUtilModule::SetMethodPriorityL
       
  1432 // -----------------------------------------------------------------------------
       
  1433 //
       
  1434 TInt CIptvTestUtilModule::SetMethodPriorityL(CStifItemParser& aItem )
       
  1435 	{
       
  1436     VCXLOGLO1(">>>CIptvTestUtilModule::SetMethodPriorityL");
       
  1437     // Print to UI
       
  1438     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1439     _LIT( KWhere, "In SetMethodPriorityL" );
       
  1440     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1441     // Print to log file
       
  1442     iLog->Log( KWhere );
       
  1443 
       
  1444     TInt ret( KErrNotSupported );
       
  1445 
       
  1446     if( !iTestUtilALR )
       
  1447         {
       
  1448         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1449         }
       
  1450 
       
  1451     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1452 
       
  1453 	TPtrC destinationName;
       
  1454 	TPtrC methodName;
       
  1455 	TInt priority;
       
  1456 
       
  1457 	User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1458 	User::LeaveIfError( aItem.GetNextString( methodName ) );
       
  1459 	User::LeaveIfError( aItem.GetNextInt( priority ) );
       
  1460 
       
  1461 	TRAP(ret, iTestUtilALR->SetMethodPriorityL( destinationName, methodName, priority ) );
       
  1462 
       
  1463 	VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1464 	VCXLOGLO1("<<<CIptvTestUtilModule::SetMethodPriorityL");
       
  1465 	return ret;
       
  1466 	}
       
  1467 
       
  1468 // -----------------------------------------------------------------------------
       
  1469 // CIptvTestUtilModule::DeleteDestinationAfterwardsL
       
  1470 // -----------------------------------------------------------------------------
       
  1471 //
       
  1472 TInt CIptvTestUtilModule::DeleteDestinationAfterwardsL(CStifItemParser& aItem )
       
  1473     {
       
  1474     VCXLOGLO1(">>>CIptvTestUtilModule::DeleteDestinationAfterwardsL");
       
  1475     // Print to UI
       
  1476     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1477     _LIT( KWhere, "In DeleteDestinationAfterwardsL" );
       
  1478     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1479     // Print to log file
       
  1480     iLog->Log( KWhere );
       
  1481 
       
  1482     TInt ret( KErrNotSupported );
       
  1483 
       
  1484     if( !iTestUtilALR )
       
  1485         {
       
  1486         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1487         }
       
  1488 
       
  1489     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1490 
       
  1491     TPtrC destinationName;
       
  1492 
       
  1493     User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1494 
       
  1495     iToBeDeletedDestinations.AppendL( destinationName.AllocL() );
       
  1496 
       
  1497     ret = KErrNone;
       
  1498 
       
  1499     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1500     VCXLOGLO1("<<<CIptvTestUtilModule::DeleteDestinationAfterwardsL");
       
  1501     return ret;
       
  1502     }
       
  1503 
       
  1504 // -----------------------------------------------------------------------------
       
  1505 // CIptvTestUtilModule::SetConnectionMethodStringAttributeL
       
  1506 // -----------------------------------------------------------------------------
       
  1507 //
       
  1508 TInt CIptvTestUtilModule::SetConnectionMethodStringAttributeL( CStifItemParser& aItem )
       
  1509     {
       
  1510     VCXLOGLO1(">>>CIptvTestUtilModule::SetConnectionMethodStringAttributeL");
       
  1511     // Print to UI
       
  1512     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1513     _LIT( KWhere, "In SetConnectionMethodStringAttributeL" );
       
  1514     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1515     // Print to log file
       
  1516     iLog->Log( KWhere );
       
  1517 
       
  1518     TInt ret( KErrNotSupported );
       
  1519 
       
  1520     if( !iTestUtilALR )
       
  1521         {
       
  1522         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1523         }
       
  1524 
       
  1525     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1526 
       
  1527     TPtrC destinationName;
       
  1528     TPtrC methodName;
       
  1529     TInt attribute;
       
  1530     TPtrC value;
       
  1531 
       
  1532     User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1533     User::LeaveIfError( aItem.GetNextString( methodName ) );
       
  1534     User::LeaveIfError( aItem.GetNextInt( attribute ) );
       
  1535     User::LeaveIfError( aItem.GetNextString( value ) );
       
  1536 
       
  1537     TRAP(ret, iTestUtilALR->SetMethodStringAttributeL( destinationName, methodName, attribute, value ) );
       
  1538 
       
  1539     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1540     VCXLOGLO1("<<<CIptvTestUtilModule::SetConnectionMethodStringAttributeL");
       
  1541     return ret;
       
  1542     }
       
  1543 
       
  1544 // -----------------------------------------------------------------------------
       
  1545 // CIptvTestUtilModule::SetConnectionMethodIntAttributeL
       
  1546 // -----------------------------------------------------------------------------
       
  1547 //
       
  1548 TInt CIptvTestUtilModule::SetConnectionMethodIntAttributeL( CStifItemParser& aItem )
       
  1549     {
       
  1550         VCXLOGLO1(">>>CIptvTestUtilModule::SetConnectionMethodIntAttributeL");
       
  1551         // Print to UI
       
  1552         _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1553         _LIT( KWhere, "In SetConnectionMethodIntAttributeL" );
       
  1554         TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1555         // Print to log file
       
  1556         iLog->Log( KWhere );
       
  1557 
       
  1558         TInt ret( KErrNotSupported );
       
  1559 
       
  1560         if( !iTestUtilALR )
       
  1561             {
       
  1562             iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1563             }
       
  1564 
       
  1565         aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1566 
       
  1567         TPtrC destinationName;
       
  1568         TPtrC methodName;
       
  1569         TInt attribute;
       
  1570         TInt value;
       
  1571 
       
  1572         User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1573         User::LeaveIfError( aItem.GetNextString( methodName ) );
       
  1574         User::LeaveIfError( aItem.GetNextInt( attribute ) );
       
  1575         User::LeaveIfError( aItem.GetNextInt( value ) );
       
  1576 
       
  1577         TRAP(ret, iTestUtilALR->SetMethodIntAttributeL( destinationName, methodName, attribute, value ) );
       
  1578 
       
  1579         VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1580         VCXLOGLO1("<<<CIptvTestUtilModule::SetConnectionMethodIntAttributeL");
       
  1581         return ret;
       
  1582         }
       
  1583 // -----------------------------------------------------------------------------
       
  1584 // CIptvTestUtilModule::DeleteDestinationL
       
  1585 // -----------------------------------------------------------------------------
       
  1586 //
       
  1587 TInt CIptvTestUtilModule::SetConnectionMethodBoolAttributeL( CStifItemParser& aItem )
       
  1588     {
       
  1589     VCXLOGLO1(">>>CIptvTestUtilModule::SetConnectionMethodBoolAttributeL");
       
  1590     // Print to UI
       
  1591     _LIT( KIptvTestUtilConnect, "IptvTestUtilModule" );
       
  1592     _LIT( KWhere, "In SetConnectionMethodBoolAttributeL" );
       
  1593     TestModuleIf().Printf( 0, KIptvTestUtilConnect, KWhere );
       
  1594     // Print to log file
       
  1595     iLog->Log( KWhere );
       
  1596 
       
  1597     TInt ret( KErrNotSupported );
       
  1598 
       
  1599     if( !iTestUtilALR )
       
  1600         {
       
  1601         iTestUtilALR = CIptvTestUtilALR::NewL();
       
  1602         }
       
  1603 
       
  1604     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1605 
       
  1606     TPtrC destinationName;
       
  1607     TPtrC methodName;
       
  1608     TInt attribute;
       
  1609     TInt value;
       
  1610 
       
  1611     User::LeaveIfError( aItem.GetNextString( destinationName ) );
       
  1612     User::LeaveIfError( aItem.GetNextString( methodName ) );
       
  1613     User::LeaveIfError( aItem.GetNextInt( attribute ) );
       
  1614     User::LeaveIfError( aItem.GetNextInt( value ) );
       
  1615 
       
  1616     TRAP(ret, iTestUtilALR->SetMethodBoolAttributeL( destinationName, methodName, attribute, static_cast<TBool>(value) ) );
       
  1617 
       
  1618     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", ret);
       
  1619     VCXLOGLO1("<<<CIptvTestUtilModule::SetConnectionMethodBoolAttributeL");
       
  1620     return ret;
       
  1621     }
       
  1622 // -----------------------------------------------------------------------------
       
  1623 // CIptvTestUtilModule::CreateFileL
       
  1624 // -----------------------------------------------------------------------------
       
  1625 //
       
  1626 TInt CIptvTestUtilModule::CreateFileL(CStifItemParser& aItem )
       
  1627 	{
       
  1628     VCXLOGLO1(">>>CIptvTestUtilModule::CreateFileL");
       
  1629     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1630 	TPtrC fileName;
       
  1631 	User::LeaveIfError( aItem.GetNextString( fileName ) );
       
  1632 
       
  1633     RFile file;
       
  1634     CleanupClosePushL(file);
       
  1635     TInt err = file.Replace(iFs, fileName, EFileWrite);
       
  1636     CleanupStack::PopAndDestroy( &file );
       
  1637     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", err);
       
  1638     VCXLOGLO1("<<<CIptvTestUtilModule::CreateFileL");
       
  1639     return err;
       
  1640 	}
       
  1641 
       
  1642 // -----------------------------------------------------------------------------
       
  1643 // CIptvTestUtilModule::DeleteFileL
       
  1644 // -----------------------------------------------------------------------------
       
  1645 //
       
  1646 TInt CIptvTestUtilModule::DeleteFileL(CStifItemParser& aItem )
       
  1647 	{
       
  1648     VCXLOGLO1(">>>CIptvTestUtilModule::DeleteFileL");
       
  1649     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1650 	TPtrC fileName;
       
  1651 	User::LeaveIfError( aItem.GetNextString( fileName ) );
       
  1652     TInt err = iFs.Delete( fileName );
       
  1653     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", err);
       
  1654     VCXLOGLO1("<<<CIptvTestUtilModule::DeleteFileL");
       
  1655     return err;
       
  1656 	}
       
  1657 
       
  1658 // -----------------------------------------------------------------------------
       
  1659 // CIptvTestUtilModule::CreateFolderL
       
  1660 // -----------------------------------------------------------------------------
       
  1661 //
       
  1662 TInt CIptvTestUtilModule::CreateFolderL(CStifItemParser& aItem )
       
  1663 	{
       
  1664     VCXLOGLO1(">>>CIptvTestUtilModule::CreateFolderL");
       
  1665     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1666 	TPtrC path;
       
  1667 	User::LeaveIfError( aItem.GetNextString( path ) );
       
  1668     BaflUtils::EnsurePathExistsL(iFs, path);
       
  1669     VCXLOGLO1("<<<CIptvTestUtilModule::CreateFolderL");
       
  1670     return KErrNone;
       
  1671 	}
       
  1672 
       
  1673 // -----------------------------------------------------------------------------
       
  1674 // CIptvTestUtilModule::DeleteFolderL
       
  1675 // -----------------------------------------------------------------------------
       
  1676 //
       
  1677 TInt CIptvTestUtilModule::DeleteFolderL(CStifItemParser& aItem )
       
  1678 	{
       
  1679     VCXLOGLO1(">>>CIptvTestUtilModule::DeleteFolderL");
       
  1680     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1681 	TPtrC path;
       
  1682 	User::LeaveIfError( aItem.GetNextString( path ) );
       
  1683     CFileMan* fileMan = CFileMan::NewL(iFs);
       
  1684     CleanupStack::PushL(fileMan);
       
  1685 	fileMan->RmDir( path );
       
  1686 	CleanupStack::PopAndDestroy( fileMan );
       
  1687     VCXLOGLO1("<<<CIptvTestUtilModule::DeleteFolderL");
       
  1688     return KErrNone;
       
  1689 	}
       
  1690 
       
  1691 // -----------------------------------------------------------------------------
       
  1692 // CIptvTestUtilModule::LockFileL
       
  1693 // -----------------------------------------------------------------------------
       
  1694 //
       
  1695 TInt CIptvTestUtilModule::LockFileL(CStifItemParser& aItem )
       
  1696 	{
       
  1697     VCXLOGLO1(">>>CIptvTestUtilModule::LockFileL");
       
  1698     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1699 	TPtrC fileName;
       
  1700 	User::LeaveIfError( aItem.GetNextString( fileName ) );
       
  1701 
       
  1702     TInt err( KErrInUse );
       
  1703     if( !iFileIsLocked )
       
  1704     	{
       
  1705     	err = iLockedFile.Open(iFs, fileName, EFileShareExclusive | EFileOpen);
       
  1706     	iFileIsLocked = ETrue;
       
  1707     	}
       
  1708     VCXLOGLO2("<<<CIptvTestUtilModule:: returning: %d", err);
       
  1709     VCXLOGLO1("<<<CIptvTestUtilModule::LockFileL");
       
  1710     return err;
       
  1711 	}
       
  1712 
       
  1713 // -----------------------------------------------------------------------------
       
  1714 // CIptvTestUtilModule::LockFileL
       
  1715 // -----------------------------------------------------------------------------
       
  1716 //
       
  1717 TInt CIptvTestUtilModule::UnlockFileL(CStifItemParser& /* aItem */ )
       
  1718 	{
       
  1719     VCXLOGLO1(">>>CIptvTestUtilModule::UnlockFileL");
       
  1720     if( iFileIsLocked )
       
  1721     	{
       
  1722     	iLockedFile.Close();
       
  1723     	}
       
  1724 	iFileIsLocked = EFalse;
       
  1725     VCXLOGLO1("<<<CIptvTestUtilModule::UnlockFileL");
       
  1726     return KErrNone;
       
  1727 	}
       
  1728 
       
  1729 // -----------------------------------------------------------------------------
       
  1730 // CIptvTestUtilModule::SetDriveFreeSpaceL(TUint size in bytes)
       
  1731 //
       
  1732 // Creates dummy file so that the remaining disk space equals to given parameter
       
  1733 //
       
  1734 // OLD INFO???
       
  1735 // Note that the videocenter considers C: drive to be full when there is 10% left,
       
  1736 // so if "free space" param is 0, this leaves actually 10% of drive space free.
       
  1737 // -----------------------------------------------------------------------------
       
  1738 //
       
  1739 TInt CIptvTestUtilModule::SetDriveFreeSpaceL( CStifItemParser& aItem )
       
  1740     {
       
  1741     VCXLOGLO1(">>>CIptvTestUtilModule::SetDriveFreeSpaceL");
       
  1742     // Print to UI
       
  1743     _LIT( KWhere, "IptvTestUtilModule" );
       
  1744     _LIT( KSetCFreeSpace, "In SetDriveFreeSpaceL" );
       
  1745     TestModuleIf().Printf( 0, KWhere, KSetCFreeSpace );
       
  1746     // Print to log file
       
  1747     iLog->Log( KSetCFreeSpace );
       
  1748 
       
  1749     TPtrC driveLetter;
       
  1750     User::LeaveIfError(aItem.GetNextString( driveLetter ));
       
  1751 
       
  1752     VCXLOGLO2("CVCXTestCommon:: drive: %S", &driveLetter);
       
  1753 
       
  1754     TInt driveNumber(0);
       
  1755     User::LeaveIfError( iFs.CharToDrive( driveLetter[0], driveNumber ) );
       
  1756 
       
  1757     TUint desiredSpace(0);
       
  1758     User::LeaveIfError(aItem.GetNextInt( desiredSpace ));
       
  1759 
       
  1760     VCXLOGLO2("CVCXTestCommon:: desired space: %d", desiredSpace);
       
  1761 
       
  1762     iDummyFilesCreated = ETrue;
       
  1763 
       
  1764     iTestCommon->SetDriveFreeSpaceL( driveNumber, desiredSpace );
       
  1765 
       
  1766     VCXLOGLO1("<<<CIptvTestUtilModule::SetDriveFreeSpaceL");
       
  1767     return KErrNone;
       
  1768     }
       
  1769 
       
  1770 
       
  1771 // -----------------------------------------------------------------------------
       
  1772 // CIptvTestVerifyData::ExtractFile()
       
  1773 // -----------------------------------------------------------------------------
       
  1774 //
       
  1775 TInt CIptvTestUtilModule::ExtractFileL( CStifItemParser& aItem )
       
  1776     {
       
  1777     VCXLOGLO1(">>>CIptvTestUtilModule::ExtractFile");
       
  1778 
       
  1779     aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing);
       
  1780 
       
  1781     TPtrC zipFileName;
       
  1782     User::LeaveIfError(aItem.GetNextString( zipFileName ));
       
  1783 
       
  1784     TPtrC sourceFileName;
       
  1785     User::LeaveIfError(aItem.GetNextString( sourceFileName ));
       
  1786 
       
  1787     TPtrC destFileName;
       
  1788     User::LeaveIfError(aItem.GetNextString( destFileName ));
       
  1789 
       
  1790     iFs.Delete( sourceFileName );
       
  1791 
       
  1792     CZipFile* zipFile;
       
  1793     TRAPD(err, zipFile = CZipFile::NewL( iFs, zipFileName ) );
       
  1794 
       
  1795     if( err != KErrNone )
       
  1796         {
       
  1797         VCXLOGLO2("CIptvTestUtilModule:: error %d", err);
       
  1798         delete zipFile;
       
  1799         return err;
       
  1800         }
       
  1801 
       
  1802     VCXLOGLO2("CIptvTestUtilModule:: zipFileName:    %S", &zipFileName);
       
  1803     VCXLOGLO2("CIptvTestUtilModule:: sourceFileName: %S", &sourceFileName);
       
  1804     VCXLOGLO2("CIptvTestUtilModule:: destFileName:   %S", &destFileName);
       
  1805 
       
  1806     if( !FileExistsInZip( zipFile, sourceFileName ) )
       
  1807         {
       
  1808         VCXLOGLO1("CIptvTestUtilModule:: No such file in zip! Leaving..");
       
  1809         delete zipFile;
       
  1810         User::Leave( KErrNotFound );
       
  1811         }
       
  1812 
       
  1813     // Get zip file member from the archive
       
  1814     VCXLOGLO1("CIptvTestUtilModule:: Get zip file member from the archive");
       
  1815     CZipFileMember* member = zipFile->CaseInsensitiveMemberL( sourceFileName );
       
  1816     if( member == NULL )
       
  1817         {
       
  1818         VCXLOGLO1("CIptvTestUtilModule:: zip member is null.  Leaving..");
       
  1819         delete zipFile;
       
  1820         User::Leave(KErrGeneral);
       
  1821         }
       
  1822     CleanupStack::PushL( member );
       
  1823 
       
  1824     // Get read stream for the file
       
  1825     VCXLOGLO1("CIptvTestUtilModule:: Get read stream for the file");
       
  1826     RZipFileMemberReaderStream* stream;
       
  1827     zipFile->GetInputStreamL( member, stream );
       
  1828     CleanupStack::PushL( stream );
       
  1829 
       
  1830     // Alloc buffer and read the archived file
       
  1831     VCXLOGLO1("CIptvTestUtilModule:: Alloc buffer and read the archived file");
       
  1832     HBufC8* buffer = HBufC8::NewLC( member->UncompressedSize() );
       
  1833     TPtr8 bufferPtr( buffer->Des() );
       
  1834     User::LeaveIfError( stream->Read( bufferPtr, member->UncompressedSize() ) );
       
  1835 
       
  1836     // Write the file to the filesystem
       
  1837     VCXLOGLO1("CIptvTestUtilModule:: Write the file to the filesystem");
       
  1838     RFile file;
       
  1839     User::LeaveIfError( file.Replace( iFs, destFileName, EFileWrite ) );
       
  1840     CleanupClosePushL( file );
       
  1841     User::LeaveIfError( file.Write(*buffer) );
       
  1842 
       
  1843     delete zipFile;
       
  1844     CleanupStack::PopAndDestroy( &file );
       
  1845     CleanupStack::PopAndDestroy( buffer );
       
  1846     CleanupStack::PopAndDestroy( stream );
       
  1847     CleanupStack::PopAndDestroy( member );
       
  1848 
       
  1849     VCXLOGLO1("<<<CIptvTestUtilModule::ExtractFile");
       
  1850     return 0;
       
  1851     }
       
  1852 
       
  1853 
       
  1854 // -----------------------------------------------------------------------------
       
  1855 // CIptvTestVerifyData::FileExistsInZip()
       
  1856 // -----------------------------------------------------------------------------
       
  1857 //
       
  1858 TBool CIptvTestUtilModule::FileExistsInZip( CZipFile* aZipFile, const TDesC& aFileName )
       
  1859     {
       
  1860     VCXLOGLO1(">>>CIptvTestVerifyData::FileExistsInZip");
       
  1861 
       
  1862     CZipFileMember* member = NULL;
       
  1863 
       
  1864     VCXLOGLO1("CIptvTestVerifyData:: list of members");
       
  1865     CZipFileMemberIterator* members = aZipFile->GetMembersL();
       
  1866 
       
  1867     VCXLOGLO1("CIptvTestVerifyData:: loop all members");
       
  1868 
       
  1869     while ((member = members->NextL()) != 0)
       
  1870         {
       
  1871         VCXLOGLO3("CIptvTestVerifyData:: member %S, size: %d", &(*member->Name()), member->CompressedSize());
       
  1872 
       
  1873         if( aFileName == (*member->Name()) )
       
  1874             {
       
  1875             delete member;
       
  1876             delete members;
       
  1877             VCXLOGLO1("<<<CIptvTestVerifyData::FileExistsInZip");
       
  1878             return ETrue;
       
  1879             }
       
  1880 
       
  1881         delete member;
       
  1882         }
       
  1883 
       
  1884     delete members;
       
  1885     VCXLOGLO1("<<<CIptvTestVerifyData::FileExistsInZip");
       
  1886     return EFalse;
       
  1887     }
       
  1888 
       
  1889 
       
  1890 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
  1891 // None
       
  1892 
       
  1893 //  End of File