diff -r 000000000000 -r 96612d01cf9f videofeeds/server/tsrc/VCXServiceTest/src/VCXServiceTestBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/server/tsrc/VCXServiceTest/src/VCXServiceTestBlocks.cpp Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,2799 @@ +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: ?Description* +*/ + + + + +// INCLUDE FILES +#include +#include +#include +#include "VCXServiceTest.h" + +#include "VCXTestLog.h" +#include "CIptvUtil.h" + +#include "CIptvService.h" +#include "CIptvServices.h" + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +_LIT( KSpace, " " ); +const TInt KIptvTestMaxTextLength = 2048; + + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CIptvServiceTest::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CIptvServiceTest::Delete() + { + if(iService) + { + delete iService; + iService = NULL; + } + + if(iBuff) + { + delete iBuff; + iBuff = NULL; + } + + if(iServices) + { + delete iServices; + iServices = NULL; + } + + if(iServicesBuff) + { + delete iServicesBuff; + iServicesBuff = NULL; + } + + } + +// ----------------------------------------------------------------------------- +// CIptvServiceTest::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CIptvServiceTest::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "CreateService", CIptvServiceTest::CreateServiceL ), + ENTRY( "DestroyService", CIptvServiceTest::DestroyServiceL ), + ENTRY( "SetId", CIptvServiceTest::SetIdL ), + ENTRY( "SetName", CIptvServiceTest::SetNameL ), + ENTRY( "SetAddress", CIptvServiceTest::SetAddressL ), + ENTRY( "SetIconPath", CIptvServiceTest::SetIconPathL ), + ENTRY( "SetEpgPluginUid", CIptvServiceTest::SetEpgPluginUidL ), + ENTRY( "SetVodPluginUid", CIptvServiceTest::SetVodPluginUidL ), + ENTRY( "SetIptvPluginUid", CIptvServiceTest::SetIptvPluginUidL ), + ENTRY( "SetType", CIptvServiceTest::SetTypeL ), + ENTRY( "CreateIapList", CIptvServiceTest::CreateIapListL ), + ENTRY( "CheckIapList", CIptvServiceTest::CheckIapListL ), + ENTRY( "SetUserName", CIptvServiceTest::SetUserNameL ), + ENTRY( "SetPassword", CIptvServiceTest::SetPasswordL ), + ENTRY( "SetDesc", CIptvServiceTest::SetDescL ), + ENTRY( "SetFlags", CIptvServiceTest::SetFlagsL ), + ENTRY( "SetApplicationUid", CIptvServiceTest::SetApplicationUidL ), + ENTRY( "SetDisplayOrder", CIptvServiceTest::SetDisplayOrderL ), + ENTRY( "SetProviderId", CIptvServiceTest::SetProviderIdL ), + ENTRY( "SetAccountManagementUrl", CIptvServiceTest::SetAccountManagementUrlL ), + ENTRY( "DoExternalize", CIptvServiceTest::DoExternalizeL), + ENTRY( "DoInternalize", CIptvServiceTest::DoInternalizeL ), + ENTRY( "SetL", CIptvServiceTest::SetL ), + + ENTRY( "CreateServices", CIptvServiceTest::CreateServicesL ), + ENTRY( "DestroyServices", CIptvServiceTest::DestroyServicesL ), + ENTRY( "ServicesAdd", CIptvServiceTest::ServicesAddL ), + ENTRY( "ServicesCount", CIptvServiceTest::ServicesCountL ), + ENTRY( "ServicesInternalize", CIptvServiceTest::ServicesInternalizeL ), + ENTRY( "ServicesExternalize", CIptvServiceTest::ServicesExternalizeL ), + ENTRY( "ServicesGetService", CIptvServiceTest::ServicesGetServiceL ), + ENTRY( "ServicesGetServiceByRef", CIptvServiceTest::ServicesGetServiceByRefL ), + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CIptvServiceTest::CreateServiceL +// CreateServiceL test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIptvServiceTest::CreateServiceL( CStifItemParser& /* aItem */ ) + { + VCXLOGLO1(">>>CIptvServiceTest::CreateServiceL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In CreateServiceL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + + TRAP( err, iService = CIptvService::NewL() ); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::CreateServiceL: creating instance failed!"); + VCXLOGLO1("<<>>CIptvServiceTest::DestroyServiceL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In DestroyServiceL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + + if(iService) + { + delete iService; + iService = NULL; + } + + VCXLOGLO1("<<>>CIptvServiceTest::SetIdL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetIdL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + +// get params + TInt id; + + if(aItem.GetNextInt(id) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetIdL: param id = %d", id); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetIdL: reading id parameter failed"); + iLog->Log(_L("Reading id parameter failed")); + VCXLOGLO1("<<SetId(id); + +// verify results + + if(iService->GetId() != id) + { + VCXLOGLO1("CIptvServiceTest::SetIdL: GetId returned wrong value"); + iLog->Log(_L("GetId returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetNameL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetNameL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + + param.Format(string); + while(aItem.GetNextString(string) == KErrNone) + { + if(param.Length() + string.Length() + 1 >= KIptvTestMaxTextLength) + { + VCXLOGLO1("CIptvServiceTest::SetNameL: parameter name too long, rest of the text ignored"); + break; + } + param.Append(KSpace); + param.Append(string); + } + + VCXLOGLO1("CIptvServiceTest::SetNameL: parameter name read"); + //IPTV_LOG_STR_DESC_HIGH_LEVEL(param); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetNameL: reading name parameter failed"); + iLog->Log(_L("Reading name parameter failed")); + VCXLOGLO1("<<SetName(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetNameL: SetName returned error"); + iLog->Log(_L("SetName returned error")); + VCXLOGLO1("<<GetName() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetNameL: GetName returned wrong value"); + iLog->Log(_L("GetName returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetAddressL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetAddressL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + param.Format(string); + VCXLOGLO1("CIptvServiceTest::SetAddressL: parameter address read"); + //IPTV_LOG_STR_DESC_HIGH_LEVEL(param); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetAddressL: reading address parameter failed"); + iLog->Log(_L("Reading address parameter failed")); + VCXLOGLO1("<<SetAddress(param); + VCXLOGLO2("CIptvServiceTest::SetAddressL: param length: %d", param.Length()); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetAddressL: SetAddress returned error"); + iLog->Log(_L("SetAddress returned error")); + VCXLOGLO1("<<GetAddress() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetAddressL: GetAddress returned wrong value"); + iLog->Log(_L("GetAddress returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetIconPathL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetIconPathL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + param.Format(string); + VCXLOGLO1("CIptvServiceTest::SetIconPathL: parameter path read"); + //IPTV_LOG_STR_DESC_HIGH_LEVEL(param); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetIconPathL: reading path parameter failed"); + iLog->Log(_L("Reading path parameter failed")); + VCXLOGLO1("<<SetIconPath(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetIconPathL: SetIconPath returned error"); + iLog->Log(_L("SetIconPath returned error")); + VCXLOGLO1("<<GetIconPath() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetIconPathL: GetIconPath returned wrong value"); + iLog->Log(_L("GetIconPath returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetEpgPluginUidL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetEpgPluginUidL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TInt uid; + + if(aItem.GetNextInt(uid) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetEpgPluginUidL: param uid = %d", uid); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetEpgPluginUidL: reading uid parameter failed"); + iLog->Log(_L("Reading uid parameter failed")); + VCXLOGLO1("<<SetEpgPluginUid(uuid); + +// verify results + if(iService->GetEpgPluginUid() != uuid) + { + VCXLOGLO1("CIptvServiceTest::SetEpgPluginUidL: SetEpgPluginUid returned wrong value"); + iLog->Log(_L("SetEpgPluginUid returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetVodPluginUidL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetVodPluginUidL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TInt uid; + + if(aItem.GetNextInt(uid) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetVodPluginUidL: param uid = %d", uid); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetVodPluginUidL: reading uid parameter failed"); + iLog->Log(_L("Reading uid parameter failed")); + VCXLOGLO1("<<SetVodPluginUid(uuid); + +// verify results + if(iService->GetVodPluginUid() != uuid) + { + VCXLOGLO1("CIptvServiceTest::SetVodPluginUidL: GetVodPluginUid returned wrong value"); + iLog->Log(_L("GetVodPluginUid returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetIptvPluginUidL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetIptvPluginUidL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TInt uid; + + if(aItem.GetNextInt(uid) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetIptvPluginUidL: param uid = %d", uid); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetIptvPluginUidL: reading uid parameter failed"); + iLog->Log(_L("Reading uid parameter failed")); + VCXLOGLO1("<<SetIptvPluginUid(uuid); + +// verify results + if(iService->GetIptvPluginUid() != uuid) + { + VCXLOGLO1("CIptvServiceTest::SetIptvPluginUidL: GetIptvPluginUid returned wrong value"); + iLog->Log(_L("GetIptvPluginUid returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetTypeL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetTypeL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + + TInt param; + + if(aItem.GetNextInt(param) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetTypeL: param service type = %d", param); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetTypeL: reading service type parameter failed"); + iLog->Log(_L("Reading service type parameter failed")); + VCXLOGLO1("<<SetType(serviceType); + +// verify results + + if(iService->GetType() != serviceType) + { + VCXLOGLO1("CIptvServiceTest::SetTypeL: GetType returned wrong value"); + iLog->Log(_L("GetType returned wrong value")); + VCXLOGLO1("<<GetType(); + if(serviceType < CIptvService::EVod || serviceType > CIptvService::EOther) + { + VCXLOGLO1("CIptvServiceTest::SetTypeL: GetType returned invalid type"); + iLog->Log(_L("GetType returned valid type")); + VCXLOGLO1("<<>>CIptvServiceTest::CreateIapListL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In CreateIapListL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone, err2 = KErrNone; + +// get params + TInt iapCount; + + if(aItem.GetNextInt(iapCount) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::CreateIapListL: parameter iap count = %d", iapCount); + } + else + { + VCXLOGLO1("CIptvServiceTest::CreateIapListL: Reading iap count parameter failed"); + iLog->Log(_L("Reading iap count parameter failed")); + VCXLOGLO1("<<Log(_L("Creating instance of CIptvIapList failed!")); + VCXLOGLO1("<<AddIap(iap, ETrue); // ignore max iap + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::CreateIapListL: Adding iap into list failed!"); + iLog->Log(_L("Adding iap into list failed!")); + VCXLOGLO1("<<SetIapListL(*iapList) ); + if(err != KErrNone) + { + VCXLOGLO2("CIptvServiceTest::CreateIapListL: SetIapListL caused a leave (%d)!", err); + iLog->Log(_L("SetIapListL caused a leave")); + CleanupStack::PopAndDestroy(iapList); + VCXLOGLO1("<<Log(_L("SetIapListL failed")); + CleanupStack::PopAndDestroy(iapList); + VCXLOGLO1("<<Count() != iService->GetIapList().Count() ) + { + VCXLOGLO1("CIptvServiceTest::CreateIapListL: Iap count of IptvService's iap list is wrong"); + iLog->Log(_L("Iap count of IptvService's iap list is wrong")); + CleanupStack::PopAndDestroy(iapList); + VCXLOGLO1("<<Count(); i++) + { + TInt err = iapList->GetIap(i, iap1); + VCXLOGLO2("CIptvServiceTest:: GetIap: ret: %d", err); + User::LeaveIfError(err); + err = iService->GetIapList().GetIap(i, iap2); + VCXLOGLO2("CIptvServiceTest:: GetIap: ret: %d", err); + User::LeaveIfError(err); + + if(iap1.iId != iap2.iId) + { + VCXLOGLO2("CIptvServiceTest::CreateIapListL: iId of iap at index %d is wrong", i); + iLog->Log(_L("iId of iap is wrong")); + CleanupStack::PopAndDestroy(iapList); + VCXLOGLO1("<<Log(_L("iPriority of iap is wrong")); + CleanupStack::PopAndDestroy(iapList); + VCXLOGLO1("<<Log(_L("iValueExists of iap is wrong")); + CleanupStack::PopAndDestroy(iapList); + VCXLOGLO1("<<>>CIptvServiceTest::CheckIapListL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In CheckIapListL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + +// get params + TInt exceptedIapCount; + + if(aItem.GetNextInt(exceptedIapCount) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::CheckIapListL: parameter expected iap count = %d", exceptedIapCount); + } + else + { + VCXLOGLO1("CIptvServiceTest::CheckIapListL: Reading expected iap count parameter failed"); + iLog->Log(_L("Reading expected iap count parameter failed")); + VCXLOGLO1("<<GetIapList().Count() ) + { + VCXLOGLO1("CIptvServiceTest::CheckIapListL: Iap count of IptvService's iap list is wrong"); + iLog->Log(_L("Iap count of IptvService's iap list is wrong")); + VCXLOGLO1("<<GetIapList().Count(); i++) + { + + TInt err = iService->GetIapList().GetIap(i, iap2); + VCXLOGLO2("CIptvServiceTest:: GetIap ret: %d", err); + User::LeaveIfError(err); + + iap1.iId = i + 1; + iap1.iPriority = i + 2; + iap1.iValueExists = ETrue; + + if(iap1.iId != iap2.iId) + { + VCXLOGLO2("CIptvServiceTest::CheckIapListL: iId of iap at index %d is wrong", i); + iLog->Log(_L("iId of iap is wrong")); + VCXLOGLO1("<<Log(_L("iPriority of iap is wrong")); + VCXLOGLO1("<<Log(_L("iValueExists of iap is wrong")); + VCXLOGLO1("<<>>CIptvServiceTest::SetUserNameL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetUserNameL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + + param.Format(string); + while(aItem.GetNextString(string) == KErrNone) + { + if(param.Length() + string.Length() + 1 >= KIptvTestMaxTextLength) + { + VCXLOGLO1("CIptvServiceTest::SetUserNameL: parameter user name too long, rest of the text ignored"); + break; + } + param.Append(KSpace); + param.Append(string); + } + + VCXLOGLO1("CIptvServiceTest::SetUserNameL: parameter user name read"); + //IPTV_LOG_STR_DESC_HIGH_LEVEL(param); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetUserNameL: reading user name parameter failed"); + iLog->Log(_L("Reading user name parameter failed")); + VCXLOGLO1("<<SetUserName(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetUserNameL: SetUserName returned error"); + iLog->Log(_L("SetUserName returned error")); + VCXLOGLO1("<<GetUserName() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetUserNameL: GetUserName returned wrong value"); + iLog->Log(_L("GetUserName returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetPasswordL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetPasswordL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + param.Format(string); + + VCXLOGLO1("CIptvServiceTest::SetPasswordL: parameter password read"); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetPasswordL: reading password parameter failed"); + iLog->Log(_L("Reading password parameter failed")); + VCXLOGLO1("<<SetPassword(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetPasswordL: SetPassword returned error"); + iLog->Log(_L("SetPassword returned error")); + VCXLOGLO1("<<GetPassword() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetPasswordL: GetPassword returned wrong value"); + iLog->Log(_L("GetPassword returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetDescL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetDescL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + + param.Format(string); + while(aItem.GetNextString(string) == KErrNone) + { + if(param.Length() + string.Length() + 1 >= KIptvTestMaxTextLength) + { + VCXLOGLO1("CIptvServiceTest::SetDescL: parameter desc too long, rest of the text ignored"); + break; + } + param.Append(KSpace); + param.Append(string); + } + + VCXLOGLO1("CIptvServiceTest::SetDescL: parameter desc read"); + //IPTV_LOG_STR_DESC_HIGH_LEVEL(param); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetDescL: reading desc parameter failed"); + iLog->Log(_L("Reading desc parameter failed")); + VCXLOGLO1("<<SetDesc(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetDescL: SetDesc returned error"); + iLog->Log(_L("SetDesc returned error")); + VCXLOGLO1("<<GetDesc() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetDescL: GetDesc returned wrong value"); + iLog->Log(_L("GetDesc returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetFlagsL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetFlagsL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TUint32 flags = 0; + + TInt mask; + + while(aItem.GetNextInt(mask) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetIdL: param flag mask = %d", mask); + + flags |= mask; + } + +// do stuff + /** + * Sets service flags, see TFlags for bit values. + * @param aFlags 32 bits of flags + * @return None. + */ + //IMPORT_C void SetFlags(TUint32 aFlags); + + iService->SetFlags(flags); + +// verify results + + if( flags != iService->GetFlags() ) + { + VCXLOGLO1("CIptvServiceTest::SetFlagsL: GetFlags returned wrong value"); + iLog->Log(_L("GetFlags returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetApplicationUidL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetApplicationUidL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TInt uid; + + if(aItem.GetNextInt(uid) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetApplicationUidL: param uid = %d", uid); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetApplicationUidL: reading uid parameter failed"); + iLog->Log(_L("Reading uid parameter failed")); + VCXLOGLO1("<<SetApplicationUid(uid); + +// verify results + if(iService->GetApplicationUid() != uid) + { + VCXLOGLO1("CIptvServiceTest::SetApplicationUidL: GetApplicationUid returned wrong value"); + iLog->Log(_L("GetApplicationUid returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetDisplayOrderL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetDisplayOrderL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + + TInt displayOrder; + + if(aItem.GetNextInt(displayOrder) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::SetDisplayOrderL: param displayOrder = %d", displayOrder); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetDisplayOrderL: reading displayOrder parameter failed"); + iLog->Log(_L("Reading displayOrder parameter failed")); + VCXLOGLO1("<<SetDisplayOrder(displayOrder); + +// verify results + if(iService->GetDisplayOrder() != displayOrder) + { + VCXLOGLO1("CIptvServiceTest::SetDisplayOrderL: GetDisplayOrder returned wrong value"); + iLog->Log(_L("GetDisplayOrder returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetProviderIdL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetProviderIdL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + param.Format(string); + VCXLOGLO1("CIptvServiceTest::SetProviderIdL: parameter provider id read"); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetProviderIdL: reading provider id parameter failed"); + iLog->Log(_L("Reading provider id parameter failed")); + VCXLOGLO1("<<SetProviderId(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetProviderIdL: SetProviderId returned error"); + iLog->Log(_L("SetProviderId returned error")); + VCXLOGLO1("<<GetProviderId() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetProviderIdL: GetProviderId returned wrong value"); + iLog->Log(_L("GetProviderId returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::SetAccountManagementUrlL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetAccountManagementUrlL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TPtrC string; + + TBuf param; + + if(aItem.GetNextString(string) == KErrNone) + { + param.Format(string); + VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: parameter url read"); + } + else + { + VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: reading url parameter failed"); + iLog->Log(_L("Reading url parameter failed")); + VCXLOGLO1("<<SetAccountManagementUrl(param); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: SetAccountManagementUrl returned error"); + iLog->Log(_L("SetAccountManagementUrl returned error")); + VCXLOGLO1("<<GetAccountManagementUrl() ) != 0) + { + VCXLOGLO1("CIptvServiceTest::SetAccountManagementUrlL: GetAccountManagementUrl returned wrong value"); + iLog->Log(_L("GetAccountManagementUrl returned wrong value")); + VCXLOGLO1("<<>>CIptvServiceTest::DoExternalizeL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In DoExternalizeL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + + TInt useTooSmallBuffer = 0; + + aItem.GetNextInt(useTooSmallBuffer); + +// do stuff + + /** + * Write internal data to binary format which can be sent over IPC. + * @param aStream The Stream where data is written. + */ + //IMPORT_C void ExternalizeL(RDesWriteStream& aStream) const; + + // setup buffer and externalize + TUint32 dataSize = iService->CountExternalizeSize(); + + if(useTooSmallBuffer) + { + dataSize = 1; + } + + if(iBuff != NULL) + { + delete iBuff; + iBuff = NULL; + } + + TRAP( err, iBuff = HBufC8::NewL(dataSize) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::DoExternalizeL: Creating instance of HBufC8 failed!"); + iLog->Log(_L("Creating instance of HBufC8 failed!")); + VCXLOGLO1("<<Des()); + + RDesWriteStream writeStream; + writeStream.Open( buffPtr ); + TRAP( err, iService->ExternalizeL(writeStream) ); + if(err == KErrNone) + { + TRAP( err, writeStream.CommitL() ); + } + writeStream.Close(); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::DoExternalizeL: ExternalizeL failed!"); + iLog->Log(_L("ExternalizeL failed!")); + delete iBuff; + iBuff = NULL; + VCXLOGLO1("<<>>CIptvServiceTest::DoInternalizeL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In DoInternalizeL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + + TInt useTooSmallBuffer = 0; + + aItem.GetNextInt(useTooSmallBuffer); + +// do stuff + + /** + * Write internal data to binary format which can be sent over IPC. + * @param aStream The Stream where data is written. + */ + //IMPORT_C void ExternalizeL(RDesWriteStream& aStream) const; + + + // if we have no buffer then create minimum size buffer to test error handling + if(useTooSmallBuffer == 1 || iBuff == NULL) + { + if(iBuff) + { + delete iBuff; + iBuff = NULL; + } + + VCXLOGLO1("CIptvServiceTest::DoInternalizeL: Creating too small buffer to test InternalizeL error handling"); + TRAP( err, iBuff = HBufC8::NewL(1) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::DoInternalizeL: Creating instance of HBufC8 failed!"); + iLog->Log(_L("Creating instance of HBufC8 failed!")); + VCXLOGLO1("<<Des()); + +// setup new CIptvService + CIptvService* service; + + TRAP(err, service = CIptvService::NewL()); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::DoInternalizeL: Creating instance of CIptvService failed!"); + iLog->Log(_L("Creating instance of CIptvService failed!")); + VCXLOGLO1("<<InternalizeL(readStream) ); + readStream.Close(); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::DoInternalizeL: InternalizeL failed!"); + iLog->Log(_L("InternalizeL failed!")); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<< errorMsg (_L("CIptvServiceTest::DoInternalizeL: New externalized service ") ); + + err = CompareService(errorMsg.Des(), *iService, *service); + + if(err != KErrNone) + { + IPTV_LOGTEXT(errorMsg.Des()); + iLog->Log(errorMsg.Des()); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<>>CIptvServiceTest::SetL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In SetL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + +// get params + + TInt params = 0; + + aItem.GetNextInt(params); + +// do stuff + + /** + * Write internal data to binary format which can be sent over IPC. + * @param aStream The Stream where data is written. + */ + //IMPORT_C void ExternalizeL(RDesWriteStream& aStream) const; + + + CIptvService* service; + + // setup new CIptvService + + TRAP(err, service = CIptvService::NewL()); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetL: Creating instance of CIptvService failed!"); + iLog->Log(_L("Creating instance of CIptvService failed!")); + VCXLOGLO1("<<CountExternalizeSize(); + + HBufC8* buff; + + TRAP( err, buff = HBufC8::NewL(dataSize) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetL: Creating instance of HBufC8 failed!"); + iLog->Log(_L("Creating instance of HBufC8 failed!")); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<Des()); + + RDesWriteStream writeStream; + writeStream.Open( buffPtr ); + TRAP( err, iService->ExternalizeL(writeStream) ); + if(err != KErrNone) + { + TRAP( err, writeStream.CommitL() ); + } + writeStream.Close(); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetL: ExternalizeL failed!"); + iLog->Log(_L("ExternalizeL failed!")); + CleanupStack::PopAndDestroy(buff); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<SetL( buffPtr ) ); + + if(err2 != KErrNone || err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetL: SetL failed"); + iLog->Log(_L("SetL failed")); + CleanupStack::PopAndDestroy(buff); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<CountExternalizeSize(); + + HBufC8* buff; + + TRAP( err, buff = HBufC8::NewL(dataSize) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetL: Creating instance of HBufC8 failed!"); + iLog->Log(_L("Creating instance of HBufC8 failed!")); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<Des()); + + TInt err2; + TRAP(err2, err = service->SetL( buffPtr ) ); + + if(err2 != KErrNone || err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::SetL: SetL failed!"); + iLog->Log(_L("SetL failed!")); + CleanupStack::PopAndDestroy(buff); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<Log(_L("Service is NULL")); + VCXLOGLO1("<< errorMsg (_L("CIptvServiceTest::SetL: New service ") ); + + err = CompareService(errorMsg.Des(), *iService, *service); + + if(err != KErrNone) + { + IPTV_LOGTEXT(errorMsg.Des()); + iLog->Log(errorMsg.Des()); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<>>CIptvServiceTest::CompareServiceL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In CompareServiceL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + // verify member data + + if(aOriginalService.GetId() != aNewService.GetId() ) + { + aErrPtr.Append( _L("service has wrong id") ); + VCXLOGLO1("<<Log(_L("New externalized service's iap list has wrong iap.iValueExists")); + CleanupStack::PopAndDestroy(service); + CleanupStack::PopAndDestroy(buff); + VCXLOGLO1("<<>>CIptvServiceTest::CreateServicesL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In CreateServicesL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + + TRAP( err, iServices = CIptvServices::NewL() ); + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::CreateServicesL: creating instance failed!"); + } + + VCXLOGLO1("<<>>CIptvServiceTest::DestroyServicesL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In DestroyServicesL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + + if(iServices) + { + delete iServices; + iServices = NULL; + } + + iServicesArray.ResetAndDestroy(); + + VCXLOGLO1("<<>>CIptvServiceTest::ServicesAddL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In ServicesAddL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + + CIptvService* copyService; + TRAP( err, copyService = CIptvService::NewL() ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesAddL: Creating instance of CIptvService failed."); + iLog->Log(_L("Creating instance of CIptvService failed.")); + VCXLOGLO1("<<GetL() ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesAddL: GetL failed."); + iLog->Log(_L("GetL failed.")); + CleanupStack::PopAndDestroy(copyService); + VCXLOGLO1("<<SetL( buff->Des() ) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesAddL: SetL failed."); + iLog->Log(_L("SetL failed.")); + CleanupStack::PopAndDestroy(buff); + CleanupStack::PopAndDestroy(copyService); + VCXLOGLO1("<<Log(_L("Adding service to array failed.")); + VCXLOGLO1("<<Count(); + + TInt err2 = KErrNone; + TRAP(err2, err = iServices->AddL(*iService)); + + + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::AddL returned error."); + iLog->Log(_L("CIptvServices returned error.")); + VCXLOGLO1("<<Log(_L("CIptvServices caused a leave.")); + VCXLOGLO1("<<= iServices->Count() ) + { + VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::Count of services did not incerement."); + iLog->Log(_L("CIptvServices::Count of services did not incerement.")); + VCXLOGLO1("<<GetServiceL(serviceCount) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesAddL: CIptvServices::GetServiceL caused a leave."); + iLog->Log(_L("CIptvServices::GetServiceL caused a leave.")); + VCXLOGLO1("<< errorMsg(_L("CIptvServiceTest::ServicesAddL: Service was added in the list and now ")); + + err = CompareService(errorMsg.Des(), *iService, *service); + + if(err != KErrNone) + { + IPTV_LOGTEXT(errorMsg.Des()); + iLog->Log(errorMsg.Des()); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<>>CIptvServiceTest::ServicesCountL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In ServicesCountL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TInt expectedCount = 0; + + if(aItem.GetNextInt(expectedCount) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::ServicesCountL: param expected count = %d", expectedCount); + } + else + { + VCXLOGLO1("CIptvServiceTest::ServicesCountL: reading expected count parameter failed"); + iLog->Log(_L("Reading expected count parameter failed")); + VCXLOGLO1("<<Count() != expectedCount) + { + VCXLOGLO1("CIptvServiceTest::ServicesCountL: Instance of CIptvServices::Count didn't return the expected value."); + iLog->Log(_L(" Instance of CIptvServices::Count didn't return the expected value.")); + VCXLOGLO1("<<>>CIptvServiceTest::ServicesInternalizeL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In ServicesInternalizeL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + + if(iServicesBuff == NULL) + { + VCXLOGLO1("CIptvServiceTest::ServicesInternalizeL: ServicesExternalizeL must be called first"); + iLog->Log(_L("ServicesExternalizeL must be called first")); + VCXLOGLO1("<<Des()); + +// setup new CIptvService + CIptvServices* services; + + TRAP(err, services = CIptvServices::NewL()); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesInternalizeL: Creating instance of CIptvServices failed!"); + iLog->Log(_L("Creating instance of CIptvServices failed!")); + VCXLOGLO1("<<InternalizeL(readStream) ); + readStream.Close(); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesInternalizeL: InternalizeL failed!"); + iLog->Log(_L("InternalizeL failed!")); + CleanupStack::PopAndDestroy(services); + VCXLOGLO1("<< errorMsg(_L("CIptvServiceTest::ServicesInternalizeL: Service was internalized and now ")); + + + //err = CompareService(errorMsg.Des(), *iService, *services); + + if(err != KErrNone) + { + IPTV_LOGTEXT(errorMsg.Des()); + iLog->Log(errorMsg.Des()); + CleanupStack::PopAndDestroy(services); + VCXLOGLO1("<<>>CIptvServiceTest::ServicesExternalizeL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In ServicesExternalizeL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + TInt err = KErrNone; + + TUint32 dataSize = iServices->CountExternalizeSize(); + + if(iServicesBuff != NULL) + { + delete iServicesBuff; + iServicesBuff = NULL; + } + + TRAP( err, iServicesBuff = HBufC8::NewL(dataSize) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesExternalizeL: Creating instance of HBufC8 failed!"); + iLog->Log(_L("Creating instance of HBufC8 failed!")); + VCXLOGLO1("<<Des()); + + RDesWriteStream writeStream; + writeStream.Open( buffPtr ); + TRAP( err, iServices->ExternalizeL(writeStream) ); + if(err != KErrNone) + { + TRAP( err, writeStream.CommitL() ); + } + writeStream.Close(); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesExternalizeL: ExternalizeL failed!"); + iLog->Log(_L("ExternalizeL failed!")); + delete iServicesBuff; + iServicesBuff = NULL; + VCXLOGLO1("<<>>CIptvServiceTest::ServicesGetServiceL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In ServicesGetServiceL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + TInt index; + + if(aItem.GetNextInt(index) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::ServicesGetServiceL: param index = %d", index); + } + else + { + VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: reading index parameter failed"); + iLog->Log(_L("Reading index parameter failed")); + VCXLOGLO1("<<GetServiceL(index) ); + if(err != KErrNone) + { + VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: CIptvServices::GetServiceL failed"); + iLog->Log(_L("CIptvServices::GetServiceL failed")); + VCXLOGLO1("<<Log(_L("CIptvServices::GetServiceL returned NULL")); + VCXLOGLO1("<<= iServicesArray.Count() ) + { + VCXLOGLO1("CIptvServiceTest::ServicesGetServiceL: Index larget than iServicesArray.Count, cannot verify result"); + iLog->Log(_L("Index larget than iServicesArray.Count, cannot verify result")); + VCXLOGLO1("<< errorMsg (_L("CIptvServiceTest::ServicesGetServiceL: CIptvServices::GetServiceL returned ") ); + + err = CompareService(errorMsg.Des(), *service, *service2); + + if(err != KErrNone) + { + IPTV_LOGTEXT(errorMsg.Des()); + iLog->Log(errorMsg.Des()); + CleanupStack::PopAndDestroy(service); + VCXLOGLO1("<<>>CIptvServiceTest::ServicesGetServiceByRefL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In ServicesGetServiceByRefL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + + TInt index; + + if(aItem.GetNextInt(index) == KErrNone) + { + VCXLOGLO2("CIptvServiceTest::ServicesGetServiceByRefL: param index = %d", index); + } + else + { + VCXLOGLO1("CIptvServiceTest::ServicesGetServiceByRefL: reading index parameter failed"); + iLog->Log(_L("Reading index parameter failed")); + VCXLOGLO1("<<= iServicesArray.Count() ) + { + VCXLOGLO1("CIptvServiceTest::ServicesGetServiceByRefL: Index larget than iServicesArray.Count, cannot verify result"); + iLog->Log(_L("Index larget than iServicesArray.Count, cannot verify result")); + VCXLOGLO1("<< errorMsg (_L("CIptvServiceTest::ServicesGetServiceByRefL: CIptvServices::GetServiceL returned ") ); + + err = CompareService(errorMsg.Des(), iServices->GetServiceRefL(index), *service2); + + if( err == KErrNone ) + { + CIptvService& service3 = iServices->Service(index, err); + if( err == KErrNone ) + { + err = CompareService(errorMsg.Des(), service3, *service2); + } + if( err != KErrNone ) + { + VCXLOGLO2("CIptvServiceTest:: getservice() compare error: %d", err); + } + } + else + { + IPTV_LOGTEXT(errorMsg.Des()); + iLog->Log(errorMsg.Des()); + VCXLOGLO1("<<>>CIptvServiceTest::XXXXXL"); + // Print to UI + _LIT( KIptvServiceTest, "IptvServiceTest" ); + _LIT( KWhere, "In XXXXXL" ); + TestModuleIf().Printf( 0, KIptvServiceTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + + TInt err = KErrNone; + +// get params + + +// do stuff + + +// verify results + + + VCXLOGLO1("<<