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