diff -r 000000000000 -r 96612d01cf9f videofeeds/server/tsrc/VCXServiceManagementApiTest/src/IptvServiceManagementApiTestLogic.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/server/tsrc/VCXServiceManagementApiTest/src/IptvServiceManagementApiTestLogic.cpp Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,828 @@ +/* +* 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 "IptvServiceManagementApiTest.h" +#include "CIptvServiceManagementSync.h" +#include "CIptvTestUtilities.h" +#include "VCXTestLog.h" +#include "CIptvIapList.h" +#include "TIptvIap.h" +#include +#include "IptvEngineUids.h" + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS +_LIT(KUninitializedService, "UNINITIALIZED"); + +// MACROS + +// LOCAL CONSTANTS AND MACROS + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + + +// ============================= LOCAL FUNCTIONS =============================== + + + +// ============================ MEMBER FUNCTIONS ============================== + +// ----------------------------------------------------------------------------- +// CIptvServiceManagementApiTest::UpdateService +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// + +TInt CIptvServiceManagementApiTest::TestUpdateService(CIptvServiceManagementSync::TIptvSmTestConnection aConn, TInt aIdDestination, TInt aIdSource) + { + TRespStatus expectedResp = ESucceeded; + TRespStatus respStatus = ESucceeded; + TInt testCaseStatus = KErrNone; + + CIptvService* pServiceSource = NULL; + CIptvService* pServiceDestination = NULL; + + pServiceSource = iIptvTestUtilities->GetServiceFromDb(aIdSource); + + CIptvService* pServiceDest = NULL; + pServiceDest = iIptvTestUtilities->GetServiceFromDb(aIdDestination); + + // if addresses are same then there won't be an event + if(pServiceDest && pServiceSource) + if(pServiceDest->GetAddress() == pServiceSource->GetAddress()) + { + iIptvServiceManagementSync->SetSpecialAction(CIptvServiceManagementSync::EIptvSmWaitNoEvents); + } + + delete pServiceDest; + pServiceDest = NULL; + + // update with uninitialized data + if(!pServiceSource) + { + TBuf<256> uninitializedService(KUninitializedService); + pServiceSource = GetHardcodedService(uninitializedService, 0); + } + + if(pServiceSource) + { + pServiceSource->SetId(aIdDestination);//set destination id + if(IsServiceInDb(aIdDestination)) + { + //lets update + + respStatus = iIptvServiceManagementSync->CallUpdateService(aConn, *pServiceSource, CIptvSmEvent::EServiceModified); + if(respStatus != ESucceeded) + { + testCaseStatus = KErrGeneral; + } + + + } + else + { + //try to update non existing service + expectedResp = EServiceNotFound; + + respStatus = iIptvServiceManagementSync->CallUpdateService(aConn, *pServiceSource, CIptvSmEvent::EServiceModified); + if(respStatus != expectedResp) + { + VCXLOGLO2("** FAIL ** Response to service request is not correct: %d", respStatus); + iLog->Log(_L("**** Fail *** Response to service request is not correct")); + testCaseStatus = KErrGeneral; + } + + } + } + else + { + VCXLOGLO1("** FAIL ** Error in testcase, source service not found"); + iLog->Log(_L("*** FAIL *** Error in testcase, source service not found")); + testCaseStatus = KErrGeneral; + } + + if(pServiceSource) + { + delete pServiceSource; + pServiceSource = NULL; + } + + if(pServiceDestination) + { + delete pServiceDestination; + pServiceDestination = NULL; + } + + return testCaseStatus; + } + +// ----------------------------------------------------------------------------- +// CIptvServiceManagementApiTest::IsServiceInDb +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// + +TBool CIptvServiceManagementApiTest::IsServiceInDb(TInt aId) + { + TBool rv = FALSE; + CIptvService* p = NULL; + p = iIptvTestUtilities->GetServiceFromDb(aId); + + if(p) + { + rv = TRUE; + delete p; + p = NULL; + } + + return rv; + } + +// ----------------------------------------------------------------------------- +// CIptvServiceManagementApiTest::InitHardcodedServicesL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIptvServiceManagementApiTest::InitHardcodedServicesL() + { + CIptvServiceInfo* serviceInfo; + + // + // Yle media sali + // + + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 3; + serviceInfo->iName.Append(_L("YLE Mediasali")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/yle.xml")); + serviceInfo->iIconPath.Append(_L("c:\\resource\\apps\\logo_yle_24.mif")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("YLE Mediasali")); + + serviceInfo->iSelectedFlag = FALSE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = FALSE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x0; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_ylemediasali"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // OOPS + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 0; + serviceInfo->iName.Append(_L("OOPS")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/oops.xml")); + serviceInfo->iIconPath.Append(_L("c:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("OOPS")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = TRUE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_oops"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + + // + // OOPS6 + // + serviceInfo = CIptvServiceInfo::NewL(*serviceInfo); + serviceInfo->iId = 6; + serviceInfo->iName.Zero(); + serviceInfo->iName.Append(_L("OOPS6")); + iHardcodedServices.Append(serviceInfo); + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_oops6"));; + + // + // OOPS9 + // + serviceInfo = CIptvServiceInfo::NewL(*serviceInfo); + serviceInfo->iId = 9; + serviceInfo->iName.Zero(); + serviceInfo->iName.Append(_L("OOPS9")); + iHardcodedServices.Append(serviceInfo); + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_oops9"));; + + + // + // Service15Iaps + // + + + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 50; + serviceInfo->iName.Append(_L("Service15Iaps")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/oops.xml")); + serviceInfo->iIconPath.Append(_L("c:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("OOPS")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = TRUE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_15iaps"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + TInt aIapsToAdd = 15; + + serviceInfo->iIapList = CIptvIapList::NewL(); + + TInt index = 0; + TIptvIap iap; + while(aIapsToAdd--) + { + + if(index > iIapNumList->Count()) + { + index = 0; + } + + if(KErrNone == GetCommDbIapIdByOrder(index, iap.iId) ) + { + iap.iPriority = index; + serviceInfo->iIapList->AddIap(iap, ETrue); + } + + index++; + } + + iHardcodedServices.Append(serviceInfo); + + // + // NokiaVideos + // + + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 1; + serviceInfo->iName.Append(_L("NokiaVideos")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/nokia_vod.xml")); + serviceInfo->iIconPath.Append(_L("C:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("Own TestService")); + + serviceInfo->iSelectedFlag = FALSE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = FALSE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x0; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_nokiavideos"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // NokiaVideos7 + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo = CIptvServiceInfo::NewL(*serviceInfo); + serviceInfo->iId = 7; + serviceInfo->iName.Zero(); + serviceInfo->iProviderId.Zero(); + serviceInfo->iName.Append(_L("NokiaVideos7")); + iHardcodedServices.Append(serviceInfo); + + // + // Kärppäkanava + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 4; + serviceInfo->iName.Append(_L("Kärppäkanava")); + serviceInfo->iAddress.Append(_L("http://ws27.oyy.fi/rss/kanava.xml")); + serviceInfo->iIconPath.Append(_L("c:\\logo_karpat.mif")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("")); + serviceInfo->iPassWord.Append(_L("")); + serviceInfo->iDesc.Append(_L("Karppakanava video in hw")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = TRUE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_karppakanava"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // Rocketboom + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 2; + serviceInfo->iName.Append(_L("Rocketboom")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/testingfeed_iptvengine.xml")); + serviceInfo->iIconPath.Append(_L("C:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("Rocketboom")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = TRUE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_rocketboom"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // Rocketboom5 + // + + serviceInfo = CIptvServiceInfo::NewL(*serviceInfo); + serviceInfo->iId = 5; + serviceInfo->iName.Zero(); + serviceInfo->iName.Append(_L("Rocketboom5")); + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_rocketboom5"));; + iHardcodedServices.Append(serviceInfo); + + // + // Rocketboom8 + // + serviceInfo = CIptvServiceInfo::NewL(*serviceInfo); + serviceInfo->iId = 8; + serviceInfo->iName.Zero(); + serviceInfo->iName.Append(_L("Rocketboom8")); + iHardcodedServices.Append(serviceInfo); + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_rocketboom8"));; + + // + // NSeries + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 10; + serviceInfo->iName.Append(_L("NSeries")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/nseries.xml")); + serviceInfo->iIconPath.Append(_L("C:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750E1; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("NSeries")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = TRUE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_nseries"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // InvalidService3 + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 15; + serviceInfo->iName.Append(_L("InvalidService3")); + serviceInfo->iAddress.Append(_L("http://")); + serviceInfo->iIconPath.Append(_L("C:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x500; + serviceInfo->iVodPluginUid.iUid = 0x700; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("username")); + serviceInfo->iPassWord.Append(_L("password")); + serviceInfo->iDesc.Append(_L("Invalid testservice2")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = TRUE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_invalidserv3"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // InvalidService4 + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 16; + serviceInfo->iName.Append(_L("InvalidService4")); + serviceInfo->iAddress.Append(_L("http://www.nokia.com")); + serviceInfo->iIconPath.Append(_L("C:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750DF; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("username")); + serviceInfo->iPassWord.Append(_L("password")); + serviceInfo->iDesc.Append(_L("Invalid testservice2")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = FALSE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_invalidserv4"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + // + // ServiceNoIaps + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 20; + serviceInfo->iName.Append(_L("ServiceNoIaps")); + serviceInfo->iAddress.Append(_L("http://www.nokia.com")); + serviceInfo->iIconPath.Append(_L("C:\\")); + serviceInfo->iEpgPluginUid.iUid = 0x102750DF; + serviceInfo->iVodPluginUid.iUid = 0x102750D9; + serviceInfo->iIptvPluginUid.iUid = 0x00000000; + serviceInfo->iServiceType = CIptvService::EVod; + + serviceInfo->iUserName.Append(_L("username")); + serviceInfo->iPassWord.Append(_L("password")); + serviceInfo->iDesc.Append(_L("Invalid testservice2")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = FALSE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_servicenoiaps"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + + // + // UNINITIALIZED + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 30; + + iHardcodedServices.Append(serviceInfo); + + // + // Live TV XMLTV + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 51; + serviceInfo->iName.Append(_L("XmlTvTestService")); + serviceInfo->iAddress.Append(_L("http://193.65.182.78/dvbtest/xmltv/xmltv_1day.xml")); + serviceInfo->iIconPath.Append(_L("C:\\")); + + serviceInfo->iEpgPluginUid.iUid = KIptvLiveTvXmlTvPluginUid; + serviceInfo->iIptvPluginUid.iUid = KIptvLiveTvXmlTvPluginUid; + serviceInfo->iVodPluginUid.iUid = IPTV_HTTP_VOD_DOWNLOAD_PLUGIN_IMPLEMENTATION_UID; + + serviceInfo->iServiceType = CIptvService::ELiveTv; + + serviceInfo->iUserName.Append(_L("mediacharger")); + serviceInfo->iPassWord.Append(_L("Buran_9o")); + serviceInfo->iDesc.Append(_L("XmlTvTestService")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = FALSE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_enginetesting_livetv_xmltv"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + + // + // Live TV Thomson + // + serviceInfo = CIptvServiceInfo::NewL(); + + serviceInfo->iId = 50; + serviceInfo->iName.Append(_L("ThomsonTestService")); + serviceInfo->iAddress.Append(_L("http://193.65.64.241/dvb/sdns/service_discovery")); + serviceInfo->iIconPath.Append(_L("C:\\")); + + serviceInfo->iEpgPluginUid.iUid = KIptvSmartvisionPluginUid; + serviceInfo->iIptvPluginUid.iUid = KIptvSmartvisionPluginUid; + serviceInfo->iVodPluginUid.iUid = IPTV_HTTP_VOD_DOWNLOAD_PLUGIN_IMPLEMENTATION_UID; + + serviceInfo->iServiceType = CIptvService::ELiveTv; + + serviceInfo->iUserName.Append(_L("aca")); + serviceInfo->iPassWord.Append(_L("aca")); + serviceInfo->iDesc.Append(_L("ThomsonTestService")); + + serviceInfo->iSelectedFlag = TRUE; + serviceInfo->iReadOnlyFlag = FALSE; + serviceInfo->iMainServiceFlag = FALSE; + serviceInfo->iConnectionApprovedFlag = TRUE; + serviceInfo->iApplicationUid = 0x0; + serviceInfo->iDisplayOrder = 0x1; + serviceInfo->iProviderId.Zero(); + serviceInfo->iProviderId.Append(_L("Provider_enginetesting_livetv_thomsonsmartvision"));; + serviceInfo->iAccountManagementUrl.Append(_L("http://www.nokia.com")); + + iHardcodedServices.Append(serviceInfo); + + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CIptvServiceManagementApiTest::GetHardcodedService +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +CIptvService* CIptvServiceManagementApiTest::GetHardcodedService(TDesC& aHardcodedServiceNameOrID, TDesC& aIapName) + { + VCXLOGLO1(">>>CIptvServiceManagementApiTest::GetHardCodedServiceL - iapname"); + + CIptvService* service = GetHardcodedService(aHardcodedServiceNameOrID, 0); + + CleanupStack::PushL(service); + + TUint32 iapId; + + if(!iIptvTestUtilities->GetIapIdL(aIapName, iapId) ) + { + VCXLOGLO2("** FAIL ** Did not find iap with name %S", &aIapName); + CleanupStack::PopAndDestroy(service); + return NULL; + } + + CIptvIapList* iapList = CIptvIapList::NewL(); + CleanupStack::PushL(iapList); + + TIptvIap iap; + iap.iPriority = 0; + iap.iId = iapId; + + iapList->AddIap(iap); + + service->SetIapListL(*iapList); + + CleanupStack::PopAndDestroy(iapList); + CleanupStack::Pop(service); + + VCXLOGLO1("<<>>CIptvServiceManagementApiTest::GetHardCodedServiceL"); + + if(iHardcodedServices.Count() <= 0) + { + InitHardcodedServicesL(); + } + + CIptvServiceInfo* serviceInfo = NULL; + + TBool hardcodedServiceId = -1; + + TInt serviceIdSpecified = CIptvTestUtilities::ParseIntFromString(hardcodedServiceId, aHardcodedServiceNameOrID); + + if(aHardcodedServiceNameOrID.Compare(_L("UNINITIALIZED")) == 0) + { + serviceIdSpecified = KErrNone; + hardcodedServiceId = 30; + } + + if(serviceIdSpecified == KErrNone) + { + + // + // Hardcoded service ID + // + + if(hardcodedServiceId == 40) + { + if(++iHardCodedServiceCounter > 10) iHardCodedServiceCounter = 0; + hardcodedServiceId = iHardCodedServiceCounter; + } + + for(TInt i = 0; i < iHardcodedServices.Count(); i++) + { + if(hardcodedServiceId == iHardcodedServices[i]->iId) + { + serviceInfo = iHardcodedServices[i]; + break; + } + + } + + } + else + { + + // + // Hardcoded service name + // + + for(TInt i = 0; i < iHardcodedServices.Count(); i++) + { + if(aHardcodedServiceNameOrID.Compare(iHardcodedServices[i]->iName) == 0) + { + + serviceInfo = iHardcodedServices[i]; + break; + } + + } + } + + if(serviceInfo == NULL) + { + VCXLOGLO2("No hardcoded service found with: %S", &aHardcodedServiceNameOrID); + return NULL; + } + + + CIptvService* iptvService = NULL; + TRAPD( err, iptvService = iIptvTestUtilities->CreateIptvServiceInstanceL(*serviceInfo) ); + if(err != KErrNone) + { + VCXLOGLO1("CreateIptvServiceInstanceL caused a leave"); + iLog->Log(_L("CreateIptvServiceInstanceL caused a leave")); + VCXLOGLO1("<<iId == 30) // uninitialized + { + return iptvService; + } + + if(serviceInfo->iIapList == NULL) + { + TIptvIap iap; + + CIptvIapList* iapList = CIptvIapList::NewL(); + CleanupStack::PushL(iapList); + + if(aIapsToAdd > 0) + { + if(aIapsToAdd > iIapNumList->Count()) + { + aIapsToAdd = iIapNumList->Count(); + VCXLOGLO2("Not enough iaps, adding only: %d.", aIapsToAdd); + } + + for(TInt index = 0; index < aIapsToAdd; index++) + { + if(!KErrNone == GetCommDbIapIdByOrder(index, iap.iId) ) + { + iap.iPriority = index; + iapList->AddIap(iap, ETrue); + } + } + } + // add invalid iaps + else + if(aIapsToAdd < 0) + { + VCXLOGLO1("Adding invalid iaps."); + aIapsToAdd *= -1; + + for(TInt index = 0; index < aIapsToAdd; index++) + { + iap.iId = 100 + index; + iap.iPriority = index; + iapList->AddIap(iap, ETrue); + } + } + + iptvService->SetIapListL(*iapList); + + CleanupStack::PopAndDestroy(iapList); + } + else + { + iptvService->SetIapListL(*serviceInfo->iIapList); + } + + VCXLOGLO1("<<