--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/server/tsrc/VCXVodContentApiTest/src/VCXVodContentApiTestLogic.cpp Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,1245 @@
+/*
+* 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: Test module for IptvVodContentClient*
+*/
+
+
+
+#include "VCXVodContentApiTest.h"
+#include "VCXTestLog.h"
+#include "CIptvTestTimer.h"
+#include "CIptvMyVideosGlobalFileId.h"
+#include "CIptvTestUtilities.h"
+#include "CIptvTestEcgUpdateInfo.h"
+#include "CIptvMediaContent.h"
+
+#include <mmf/common/mmfcontrollerpluginresolver.h>
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetEcgList
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetEcgList(TIptvCategoryId aCategoryId, TDesC& aSearchString, TUint32 aFrom, TUint32 aAmount)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestGetEcgList");
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+
+ RPointerArray<CIptvVodContentContentBriefDetails> data;
+ CleanupResetAndDestroyPushL(data);
+ TUint32 totalAmount = 0;
+
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->GetEcgListL(aCategoryId, aSearchString, aFrom, aAmount, totalAmount, data));
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgListL caused a leave: %d.", err);
+ testCaseStatus = err;
+ }
+ else
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgListL returned an error: %d.", testCaseStatus);
+ }
+ else
+ {
+ VCXLOGLO2("totalAmount = %d", totalAmount);
+
+ for (TInt i = 0; i < data.Count(); i++)
+ {
+ PrintVodContentBriefDetails(*(data[i]));
+ }
+ }
+
+ CleanupStack::PopAndDestroy(&data);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return testCaseStatus;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetEcgCategoryList
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetEcgCategoryList(TIptvCategoryId aParentCategoryId)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestGetEcgCategoryList");
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+
+ RPointerArray<CIptvVodContentCategoryBriefDetails> data;
+ CleanupResetAndDestroyPushL(data);
+
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->GetEcgCategoryListL(aParentCategoryId, data));
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL caused a leave: %d.", err);
+ testCaseStatus = err;
+ }
+ else
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL returned an error: %d.", testCaseStatus);
+ }
+ else
+ {
+ TInt count = data.Count();
+
+ for (TInt i = 0; i < count; i++)
+ {
+ PrintVodContentCategoryBriefDetails(*(data[i]));
+ }
+ }
+
+ CleanupStack::PopAndDestroy(&data);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgCategoryList");
+ return testCaseStatus;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetEcgCategoryDetails
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetEcgCategoryDetails(TIptvCategoryId aCategoryId)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestGetCategoryDetails");
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+
+ CIptvVodContentCategoryBriefDetails* data = CIptvVodContentCategoryBriefDetails::NewL();
+ CleanupStack::PushL(data);
+
+ // GetCategoryDetailsL is not supported for search category
+ if( aCategoryId != KIptvRssSearchCategoryId )
+ {
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->GetCategoryDetailsL(aCategoryId, *data));
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetCategoryDetailsL caused a leave: %d.", err);
+ testCaseStatus = err;
+ }
+ else
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetCategoryDetailsL returned an error: %d.", testCaseStatus);
+ }
+ else
+ {
+ PrintVodContentCategoryBriefDetails(*data);
+ }
+ }
+ CleanupStack::PopAndDestroy(data);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetCategoryDetails");
+ return testCaseStatus;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetEcgAllList
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetEcgAllList(TDesC& aSearchString, TUint32 aFrom, TUint32 aAmount)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestGetEcgAllList");
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+
+ RPointerArray<CIptvVodContentContentBriefDetails> data;
+ CleanupResetAndDestroyPushL(data);
+
+ TUint32 total=0;
+
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->GetEcgAllListL(aSearchString, aFrom, aAmount, total, data));
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgAllListL caused a leave: %d.", err);
+ testCaseStatus = err;
+ }
+ else
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgAllListL returned an error: %d.", testCaseStatus);
+ }
+ else
+ {
+ VCXLOGLO2("totalAmount = %d", total);
+
+ for (TInt i = 0; i < data.Count(); i++)
+ {
+ if(!(data[i]))
+ {
+ VCXLOGLO2("data at %d is NULL!", i);
+ testCaseStatus = KErrCorrupt;
+ }
+ else
+ {
+ PrintVodContentBriefDetails(*(data[i]));
+ }
+ }
+ }
+
+ CleanupStack::PopAndDestroy(&data);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgAllList");
+ return testCaseStatus;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetParentCategory
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetParentCategory(TIptvCategoryId aParentCategoryId)
+ {
+ VCXLOGLO2(">>>CIptvVodContentApiTest::TestGetParentCategory: aParentCategoryId = %d",aParentCategoryId );
+ TInt testCaseStatus(KErrNone);
+ TInt rv = KErrNone;
+ TIptvCategoryId parent = 0;
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+
+ RPointerArray<CIptvVodContentCategoryBriefDetails> data;
+ CleanupResetAndDestroyPushL(data);
+
+ VCXLOGLO2("Getting category list for: %d.", aParentCategoryId);
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->GetEcgCategoryListL(aParentCategoryId, data));
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL caused a leave: %d.", err);
+ testCaseStatus = err;
+ CleanupStack::PopAndDestroy(&data);
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetParentCategory");
+ return err;
+ }
+
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL returned an error: %d.", testCaseStatus);
+ CleanupStack::PopAndDestroy(&data);
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetParentCategory");
+ return err;
+ }
+
+ TInt count = data.Count();
+
+ for (TInt i = 0; i < count; i++)
+ {
+ VCXLOGLO2("categoryid = %d", data[i]->iCategoryId);
+ TRAP(err, rv = iIptvVodContenClient->GetParentCategoryL(data[i]->iCategoryId, parent));
+ VCXLOGLO2("Parent = %d", parent);
+
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetParentCategoryL caused a leave: %d.", err);
+ testCaseStatus = err;
+ break;
+ }
+ if(rv != KErrNone)
+ {
+ VCXLOGLO2("CIptvVodContentApiTest::TestGetParentCategory: GetParentCategoryL returned an error: %d", rv);
+ testCaseStatus = rv;
+ break;
+ }
+ if(parent != aParentCategoryId)
+ {
+ VCXLOGLO1("CIptvVodContentApiTest::TestGetParentCategory: ParentCategory id doesn't match");
+ testCaseStatus = KErrGeneral;
+ break;
+ }
+
+ }
+
+
+ CleanupStack::PopAndDestroy(&data);
+
+ if(count == 0)
+ {
+ VCXLOGLO1("No Categories found!!!");
+ }
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetParentCategory");
+ return testCaseStatus;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestVerifyAllCategoryContentL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestVerifyAllCategoryContentL(TIptvCategoryId aParentCategoryId)
+ {
+ // KIptvVodContentCategoryRootId
+ VCXLOGLO2(">>>CIptvVodContentApiTest::TestVerifyAllCategoryContentL: aParentCategoryId = %d",aParentCategoryId );
+
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestVerifyAllCategoryContentL");
+ return KErrGeneral;
+ }
+
+ RPointerArray<CIptvVodContentCategoryBriefDetails> categoryList;
+ CleanupResetAndDestroyPushL(categoryList);
+
+ testCaseStatus = iIptvVodContenClient->GetEcgCategoryListL(aParentCategoryId, categoryList);
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL returned an error: %d.", testCaseStatus);
+ CleanupStack::PopAndDestroy(&categoryList);
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestVerifyAllCategoryContentL");
+ return testCaseStatus;
+ }
+
+ TInt count = categoryList.Count();
+
+ for (TInt i = 0; i < count; i++)
+ {
+ VCXLOGLO2("categoryid = %d", categoryList[i]->iCategoryId);
+
+ PrintVodContentCategoryBriefDetails( *categoryList[i] );
+
+ testCaseStatus = TestGetEcgCategoryDetails(categoryList[i]->iCategoryId);
+ if(testCaseStatus != KErrNone) break;
+
+ RPointerArray<CIptvVodContentContentBriefDetails> ecgList;
+ CleanupResetAndDestroyPushL(ecgList);
+ TUint32 totalAmount = 0;
+
+ TBuf<10> searchString(_L("") );
+ testCaseStatus = iIptvVodContenClient->GetEcgListL(categoryList[i]->iCategoryId, searchString, 0, 0, totalAmount, ecgList);
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgListL returned an error: %d.", testCaseStatus);
+ CleanupStack::PopAndDestroy(&ecgList);
+ break;
+ }
+
+ VCXLOGLO2("totalAmount = %d", totalAmount);
+
+ for (TInt e = 0; e < ecgList.Count(); e++)
+ {
+ PrintVodContentBriefDetails(*(ecgList[e]));
+
+ CIptvVodContentContentFullDetails* contentDetails = CIptvVodContentContentFullDetails::NewL();
+
+ CleanupStack::PushL(contentDetails);
+
+ testCaseStatus = iIptvVodContenClient->GetContentDetailsL(ecgList[e]->iContentId, *contentDetails);
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetContentDetailsL returned an error: %d.", testCaseStatus);
+ CleanupStack::PopAndDestroy(contentDetails);
+ CleanupStack::PopAndDestroy(&ecgList);
+ i = 100000;
+ break;
+ }
+
+ PrintVodContentFullDetails(ecgList[e]->iContentId, *contentDetails);
+
+ CleanupStack::PopAndDestroy(contentDetails);
+
+ }
+
+ CleanupStack::PopAndDestroy(&ecgList);
+ }
+
+ CleanupStack::PopAndDestroy(&categoryList);
+
+ if(count == 0)
+ {
+ VCXLOGLO1("No Categories found!!!");
+ }
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestVerifyAllCategoryContentL");
+ return testCaseStatus;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetContentDetailsList
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetContentDetailsList(TIptvContentId aContentId)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestGetContentDetailsList");
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+
+ CIptvVodContentContentFullDetails* contentDetails = CIptvVodContentContentFullDetails::NewL();
+
+ CleanupStack::PushL(contentDetails);
+
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->GetContentDetailsL(aContentId, *contentDetails));
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetContentDetailsL caused a leave: %d.", err);
+ testCaseStatus = err;
+ }
+ else
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetContentDetailsL returned an error: %d.", testCaseStatus);
+ }
+ else
+ {
+ PrintVodContentFullDetails(aContentId, *contentDetails);
+ }
+
+ CleanupStack::PopAndDestroy(contentDetails);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetContentDetailsList");
+ return testCaseStatus;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestUpdateEcg
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestUpdateEcg( )
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestUpdateEcg");
+ TInt testCaseStatus(KErrNone);
+
+ if(!iIptvVodContenClient)
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetEcgList");
+ return KErrGeneral;
+ }
+ TRAPD(err, testCaseStatus = iIptvVodContenClient->UpdateEcgL( ));
+
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * UpdateEcgL caused a leave: %d.", err);
+ testCaseStatus = err;
+ }
+ else
+ if(testCaseStatus != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * UpdateEcgL returned an error: %d.", testCaseStatus);
+ }
+ else
+ {
+ iIptvTestEcgUpdateInfo->EcgUpdateStart(iServiceId, iIapId);
+ }
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestUpdateEcg");
+ return testCaseStatus;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestCategoryCount
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestCategoryCountL( TInt aExpectedCount )
+ {
+ // KIptvVodContentCategoryRootId
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestCategoryCountL");
+
+ TInt err( KErrNone );
+
+ if( !iIptvVodContenClient )
+ {
+ err = KErrNotReady;
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ }
+
+ RPointerArray<CIptvVodContentCategoryBriefDetails> categoryList;
+ CleanupResetAndDestroyPushL( categoryList );
+
+ err = iIptvVodContenClient->GetEcgCategoryListL( 0 /* all categories */, categoryList );
+ if( err!= KErrNone )
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL returned an error: %d.", err);
+ }
+ else
+ {
+ if( categoryList.Count() != aExpectedCount )
+ {
+ VCXLOGLO3("* FAIL * Count of categories (%d) is not expected (%d).", categoryList.Count(), aExpectedCount );
+ }
+ }
+ CleanupStack::PopAndDestroy( &categoryList );
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestCategoryCountL");
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestContentCount
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestContentCountL( TInt aExpectedCount )
+ {
+ // KIptvVodContentCategoryRootId
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestContentCountL");
+
+ TInt err( KErrNone );
+
+ if( !iIptvVodContenClient )
+ {
+ VCXLOGLO1("No iIptvVodContenClient instance, error in testlogic");
+ iLog->Log(_L("*** FAIL *** No iIptvVodContenClient instance, error in testlogic"));
+ User::Leave( KErrNotReady );
+ }
+
+ RPointerArray<CIptvVodContentCategoryBriefDetails> categoryList;
+ CleanupResetAndDestroyPushL( categoryList );
+
+ err = iIptvVodContenClient->GetEcgCategoryListL( 0 /* all categories */, categoryList );
+
+ TInt contentCount( 0 );
+
+ TInt categoryCount = categoryList.Count();
+
+ if( err!= KErrNone )
+ {
+ VCXLOGLO2("* FAIL * GetEcgCategoryListL returned an error: %d.", err);
+ }
+ else
+ for (TInt i = 0; i < categoryCount; i++)
+ {
+ RPointerArray<CIptvVodContentContentBriefDetails> ecgList;
+ CleanupResetAndDestroyPushL(ecgList);
+
+ TBuf<10> searchString(_L("") );
+ TUint32 totalAmount;
+ err = iIptvVodContenClient->GetEcgListL( categoryList[i]->iCategoryId, searchString, 0, 0, totalAmount, ecgList );
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* FAIL * GetEcgListL returned an error: %d.", err);
+ CleanupStack::PopAndDestroy( &ecgList );
+ break;
+ }
+
+ VCXLOGLO4("Category: %d content count: %d (ta: %d).", i, ecgList.Count(), totalAmount);
+
+ contentCount += totalAmount;
+ CleanupStack::PopAndDestroy( &ecgList );
+ }
+
+ if( err == KErrNone )
+ {
+ if( contentCount != aExpectedCount )
+ {
+ VCXLOGLO3("* FAIL * Count of content (%d) is not expected (%d).", contentCount, aExpectedCount );
+ err = KErrCorrupt;
+ }
+ }
+ CleanupStack::PopAndDestroy( &categoryList );
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestContentCountL");
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::CreateInstanceL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::CreateInstance(TDesC& serviceName)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::CreateInstanceL");
+ TInt rv(KErrNone);
+ TInt error(KErrNone);
+
+ TRAP(error, iIptvTestUtilities = CIptvTestUtilities::NewL( ));
+ if(KErrNone != error)//Leave
+ {
+ if(iIptvTestUtilities)
+ {
+ delete iIptvTestUtilities;
+ iIptvTestUtilities = NULL;
+ }
+ VCXLOGLO1("Leave in creating CIptvTestUtilities instance");
+ iLog->Log(_L("*** Fail *** Leave in creating CIptvTestUtilities instance"));
+ return error;
+ }
+
+ TUint32 serviceId = 0;
+ TInt err = KErrNone;
+
+ TBuf<256> sname(serviceName);
+ TInt sid;
+ TRAP(err, rv = iIptvTestUtilities->GetServiceIdByNameL(sname, sid));
+ serviceId = sid;
+ if(KErrNone != err)
+ {
+ VCXLOGLO2("GetServiceIdByNameL caused a leave: %d.", err);
+ VCXLOGLO1("<<<CIptvVodContentApiTest::CreateL");
+ return err;
+ }
+ if(KErrNone != rv)
+ {
+ VCXLOGLO2("GetServiceIdByNameL returned error: %d.", rv);
+ VCXLOGLO1("<<<CIptvVodContentApiTest::CreateL");
+ return rv;
+ }
+
+ TRAP(error, iIptvVodContenClient = CIptvVodContentClient::NewL(serviceId, *this));
+
+ if(KErrNone != error)//Leave
+ {
+ if(iIptvVodContenClient)
+ {
+ delete iIptvVodContenClient;
+ iIptvVodContenClient = NULL;
+ }
+ VCXLOGLO2("Leave in creating CIptvVodContentClient instance: %d", error);
+ iLog->Log(_L("*** Fail *** Leave in creating CIptvVodContentClient instance"));
+ return error;
+ }
+
+ iServiceId = serviceId;
+ TRAP(error, iIptvTestTimer = CIptvTestTimer::NewL( *this, 0 ));
+
+ if(KErrNone != error)//Leave
+ {
+ if(iIptvTestTimer)
+ {
+ delete iIptvTestTimer;
+ iIptvTestTimer = NULL;
+ }
+ VCXLOGLO1("Leave in creating CIptvTestTimer instance");
+ iLog->Log(_L("*** Fail *** Leave in creating CIptvTestTimer instance"));
+ return error;
+ }
+
+ iIptvTestEcgUpdateInfo = CIptvTestEcgUpdateInfo::NewL();
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::CreateInstanceL");
+ return rv;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::DeAllocateResources
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::DeAllocateResources()
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::DeAllocateResources");
+ if(iIptvVodContenClient)
+ {
+ delete iIptvVodContenClient;
+ iIptvVodContenClient = NULL;
+ }
+
+ if(iIptvTestTimer)
+ {
+ delete iIptvTestTimer;
+ iIptvTestTimer = NULL;
+ }
+
+ if(iIptvTestUtilities)
+ {
+ delete iIptvTestUtilities;
+ iIptvTestUtilities = NULL;
+ }
+
+ if(iIptvTestEcgUpdateInfo)
+ {
+ delete iIptvTestEcgUpdateInfo;
+ iIptvTestEcgUpdateInfo = NULL;
+ }
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::DeAllocateResources");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::PrintVodContentBriefDetails
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::PrintVodContentBriefDetails(CIptvVodContentContentBriefDetails& aDetails)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::PrintVodContentBriefDetails");
+
+ TInt year, month, day, hour, minute, seconds;
+ GetDateInts(aDetails.iPubDate.DateTime(), year, month, day, hour, minute, seconds);
+
+ VCXLOGLO3("Id: %d Name = %S", aDetails.iContentId, &aDetails.iName);
+ VCXLOGLO2("iThumbnailPath: %S", &aDetails.iThumbnailPath);
+
+ VCXLOGLO2("iPlaytime: %d", aDetails.iPlaytime);
+ VCXLOGLO2("iSize: %d", aDetails.iSize);
+
+ if(aDetails.iFileId)
+ {
+ VCXLOGLO3("iFileId.iDrive = %d, iFileId: %d", aDetails.iFileId->iDrive, aDetails.iFileId->iFileId);
+ }
+
+ VCXLOGLO4("Pub date = %d.%d.%d", year, month, day);
+
+
+ TPtrC browserUrl = aDetails.GetBrowserUrlL();
+
+ VCXLOGLO2("iBrowserUrl: %S",&browserUrl);
+
+
+ WriteVerifyVodContentBriefDetails(aDetails);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::PrintVodContentBriefDetails");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::PrintVodContentFullDetails
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::PrintVodContentFullDetails(TUint32 aContentId, CIptvVodContentContentFullDetails& aDetails)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::PrintVodContentFullDetails");
+
+ //
+ // REL 1.1 MEDIACONTENT
+ //
+
+ VCXLOGLO2("Description = %S", &aDetails.iDescription);
+ VCXLOGLO2("iContentProtection = %d", aDetails.iContentProtection);
+ VCXLOGLO2("iLangugage = %S", &aDetails.iLanguage);
+ VCXLOGLO2("iAuthor = %S", &aDetails.iAuthor);
+ VCXLOGLO2("iCopyright = %S", &aDetails.iCopyright);
+
+ //
+ // copied from PrintVodContentBriefDetails
+ //
+
+ TInt year, month, day, hour, minute, seconds;
+ GetDateInts(aDetails.iPubDate.DateTime(), year, month, day, hour, minute, seconds);
+
+ VCXLOGLO3("Id: %d Name = %S", aDetails.iContentId, &aDetails.iName);
+ VCXLOGLO2("iThumbnailPath: %S", &aDetails.iThumbnailPath);
+ VCXLOGLO2("iPlaytime: %d", aDetails.iPlaytime);
+ VCXLOGLO2("iSize: %d", aDetails.iSize);
+
+ if(aDetails.iFileId)
+ {
+ VCXLOGLO3("iFileId.iDrive = %d, iFileId: %d", aDetails.iFileId->iDrive, aDetails.iFileId->iFileId);
+ }
+
+ VCXLOGLO4("Pub date = %d.%d.%d", year, month, day);
+
+ TPtrC browserUrl = aDetails.GetBrowserUrlL();
+ VCXLOGLO2("iBrowserUrl: %S",&browserUrl);
+
+ //
+ // Write to the verify file
+ //
+ WriteVerifyVodContentFullDetails(aContentId, aDetails);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::PrintVodContentFullDetails");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::PrintVodContentCategoryBriefDetails
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::PrintVodContentCategoryBriefDetails(CIptvVodContentCategoryBriefDetails& aDetails)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::PrintVodContentCategoryBriefDetails");
+
+ TInt year, month, day, hour, minute, seconds;
+ GetDateInts(aDetails.iPubDate.DateTime(), year, month, day, hour, minute, seconds);
+
+ VCXLOGLO3("Id: %d Name = %S",aDetails.iCategoryId, &aDetails.iName);
+ VCXLOGLO4("Pub date = %d.%d.%d", year, month, day);
+ VCXLOGLO2("iThumbnailPath: %S", &aDetails.iThumbnailPath);
+ VCXLOGLO2("iContentCount: %d", aDetails.iContentCount);
+ VCXLOGLO2("iIsSearchCategory: %d", aDetails.iIsSearchCategory);
+
+ WriteVerifyVodContentCategoryBriefDetails(aDetails);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::PrintVodContentCategoryBriefDetails");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::WriteVerifyVodContentBriefDetails
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::WriteVerifyVodContentBriefDetails(CIptvVodContentContentBriefDetails& aDetails)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::WriteVerifyVodContentBriefDetails");
+
+ TInt year, month, day, hour, minute, seconds;
+ GetDateInts(aDetails.iPubDate.DateTime(), year, month, day, hour, minute, seconds);
+
+ if(iSpecialAction == EBriefContentDetails)
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("VodContentBriefDetails: Id: %d Name = %S"), aDetails.iContentId, &aDetails.iName);
+ return;
+ }
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("-----------------------------------------------------------"));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("VodContentBriefDetails"));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("-----------------------------------------------------------"));
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Id: %d Name = %S"), aDetails.iContentId, &aDetails.iName);
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iRatingAge: %d"), aDetails.iRatingAge);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iLanguage: %S"), &aDetails.iLanguage);
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iThumbnailPath: %S"), &aDetails.iThumbnailPath);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iPlaytime: %d"), aDetails.iPlaytime);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iSize: %d"), aDetails.iSize);
+
+ if(aDetails.iFileId)
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iFileId.iDrive: %d, iFileId.iFileId: %d"), aDetails.iFileId->iDrive, aDetails.iFileId->iFileId);
+ }
+ else
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("No iFileId ID!") );
+ }
+
+ if(aDetails.iPreviewGlobalFileId)
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iPreviewGlobalFileId.iDrive: %d, iPreviewGlobalFileId.iFileId: %d"), aDetails.iPreviewGlobalFileId->iDrive, aDetails.iPreviewGlobalFileId->iFileId);
+ }
+ else
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("No iPreviewGlobalFileId ID!") );
+ }
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Pub date = %d.%d.%d"), year, month, day);
+ TPtrC browserUrl = aDetails.GetBrowserUrlL();
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iBrowserUrl: %S"), &browserUrl);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::WriteVerifyVodContentBriefDetails");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::WriteVerifyVodContentFullDetails
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::WriteVerifyVodContentFullDetails(TUint32 aContentId, CIptvVodContentContentFullDetails& aDetails)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::WriteVerifyVodContentFullDetails");
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("-----------------------------------------------------------"));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("VodContentFullDetails"));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("-----------------------------------------------------------"));
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("aContentId = %d"), aContentId);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Description = %S"),&aDetails.iDescription);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iContentProtection = %d"),aDetails.iContentProtection);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iLanguage = %S"),&aDetails.iLanguage);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iAuthor = %S"),&aDetails.iAuthor);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iCopyright = %S"),&aDetails.iCopyright);
+
+ //
+ // Print content access list
+ //
+ //IMPORT_C TInt GetContentAccessListL(TUint32 aContentId, RPointerArray<CIptvMediaContent>& aCAList);
+
+ RPointerArray<CIptvMediaContent> CAList;
+
+ TInt err = KErrNone, ret = KErrNone;
+ TRAP(err, ret = iIptvVodContenClient->GetContentAccessListL(aContentId, CAList));
+
+ CleanupResetAndDestroyPushL(CAList);
+
+ if(err != KErrNone)
+ {
+ VCXLOGLO2("* ERROR * GetContentAccessListLApiTest caused a leave!: %d", err);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("GetContentAccessListLApiTest caused a leave."));
+ }
+ else if(ret != KErrNone)
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("GetContentAccessListLApiTest returned error"));
+ VCXLOGLO2("* ERROR * GetContentAccessListLApiTest returned error: %d", ret);
+ }
+ else
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" "));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Content access list:"));
+ WriteVerifyCAList(CAList);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" "));
+ }
+
+ CleanupStack::PopAndDestroy(&CAList);
+
+ // copied from WriteVerifyVodContentBriefDetails
+
+ TInt year, month, day, hour, minute, seconds;
+ GetDateInts(aDetails.iPubDate.DateTime(), year, month, day, hour, minute, seconds);
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Id: %d Name = %S"), aDetails.iContentId, &aDetails.iName);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iThumbnailPath: %S"), &aDetails.iThumbnailPath);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iPlaytime: %d"), aDetails.iPlaytime);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iSize: %d"), aDetails.iSize);
+
+ if(aDetails.iFileId)
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iFileId.iDrive: %d, iFileId.iFileId: %d"), aDetails.iFileId->iDrive, aDetails.iFileId->iFileId);
+ }
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Pub date = %d.%d.%d"), year, month, day);
+ TPtrC browserUrl = aDetails.GetBrowserUrlL();
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iBrowserUrl: %S"),&browserUrl);
+
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::WriteVerifyVodContentFullDetails");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::WriteVerifyVodContentCategoryBriefDetails
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::WriteVerifyVodContentCategoryBriefDetails(CIptvVodContentCategoryBriefDetails& aDetails)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::WriteVerifyVodContentCategoryBriefDetails");
+
+ TInt year, month, day, hour, minute, seconds;
+ GetDateInts(aDetails.iPubDate.DateTime(), year, month, day, hour, minute, seconds);
+
+ if(iSpecialAction == EBriefContentDetails)
+ {
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("VodContentCategoryBriefDetails: Id: %d Name = %S"),aDetails.iCategoryId, &aDetails.iName);
+ return;
+ }
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("-----------------------------------------------------------"));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("VodContentCategoryBriefDetails"));
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("-----------------------------------------------------------"));
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Id: %d Name = %S"),aDetails.iCategoryId, &aDetails.iName);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("Pub date = %d.%d.%d (OBSOLOTE)"), year, month, day);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iThumbnailPath: %S (OBSOLOTE)"), &aDetails.iThumbnailPath);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iContentCount: %d"), aDetails.iContentCount);
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("iIsSearchCategory: %d"), aDetails.iIsSearchCategory);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::WriteVerifyVodContentCategoryBriefDetails");
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::WriteVerifyCAList
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::WriteVerifyCAList(RPointerArray<CIptvMediaContent>& aCAList)
+ {
+
+ for(TInt i = 0; i < aCAList.Count(); i++)
+ {
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L("%d."), i);
+
+ CIptvMediaContent *mediaContent = aCAList[i];
+
+ TBuf<256> str;
+
+ /**
+ * Content key
+ */
+ //TUint32 iContentKey;
+
+ /**
+ * Index (This index identifies content access objects which belong to some content defined by iContentKey)
+ */
+ //TUint32 iIndex;
+
+ /**
+ * Download type.
+ */
+ //TUint32 iDownloadType
+
+ switch(mediaContent->iDownloadType)
+ {
+
+ case EIptvDownloadTypeStream:
+ str = _L("Stream");
+ break;
+
+ case EIptvDownloadTypeImmediate:
+ str = _L("Immediate");
+ break;
+
+ case EIptvDownloadTypePostponed:
+ str = _L("Postponed");
+ break;
+
+ case EIptvDownloadTypeScheduled:
+ str = _L("Scheduled");
+ break;
+
+ default:
+ str = _L("Unknown");
+ break;
+ }
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iDownloadType: %S (%d)"), &str, mediaContent->iDownloadType);
+
+ /**
+ * File id (Part of global file id (1/2)
+ */
+ //TUint32 iFileId;
+
+ /**
+ * Drive id (Part of global file id (2/2)
+ */
+ //TUint32 iDriveId;
+
+ /**
+ * Content URL (MRSS)
+ */
+ //TBuf<KIptvCAContentUrlLength> iUrl;
+
+ const TPtrC url = mediaContent->GetMediaContentUrl();
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iUrl: %S"), &url);
+
+ /**
+ * File size (MRSS)
+ */
+ //TUint32 iFileSize;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iFileSize: %d"), mediaContent->iFileSize);
+
+ /**
+ * Mime-type (MRSS)
+ */
+ //TBuf<KIptvCAMimeTypeLength> iMimeType;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iMimeType: %S"), &mediaContent->iMimeType);
+
+ /**
+ * Medium (MRSS) (Not used in client side)
+ * Medium is the type of object (image | audio | video | document | executable). While this
+ * attribute can at times seem redundant if type is supplied, it is included because it simplifies
+ * decision making on the reader side, as well as flushes out any ambiguities between MIME type and
+ * object type. It is an optional attribute.
+ */
+ //TBuf<KIptvMediumMaxLength> iMedium;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iMedium: %S"), &mediaContent->iMedium);
+
+ /**
+ * Is default. (MRSS) (Not used in client side)
+ * isDefault determines if this is the default object that should be used for the <media:group>.
+ * There should only be one default object per <media:group>. It is an optional attribute.
+ */
+ //TBool iIsDefault;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iIsDefault: %d"), mediaContent->iIsDefault);
+
+ /**
+ * Expression. (MRSS)
+ * Expression determines if the object is a sample or the full version of the object, or even if it is a
+ * continuous stream (sample | full | nonstop). Default value is 'full'. It is an optional attribute
+ */
+ //TUint32 iExpression;
+ if(mediaContent->iExpression == CIptvMediaContent::EFull) str = _L("FULL");
+ if(mediaContent->iExpression == CIptvMediaContent::ESample) str = _L("Sample");
+ if(mediaContent->iExpression == CIptvMediaContent::ENonStop) str = _L("NonStop");
+
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iExpression: %S (%d)"), &str, mediaContent->iExpression);
+
+ /**
+ * Bitrate. (MRSS) (Not used in client side)
+ * Bitrate is the kilobits per second rate of media. It is an optional attribute
+ */
+ //TUint32 iBitrate;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iBitrate: %d"), mediaContent->iBitrate);
+
+ /**
+ * Framerate. (MRSS) (Not used in client side)
+ * Framerate is the number of frames per second for the media object. It is an optional attribute
+ */
+ //TUint32 iFramerate;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iFramerate: %d"), mediaContent->iFramerate);
+
+ /**
+ * Samplingrate (MRSS) (Not used in client side)
+ * Samplingrate is the number of samples per second taken to create the media object. It is expressed in
+ * thousands of samples per second (kHz). It is an optional attribute.
+ */
+ //TUint32 iSamplingrate;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iSamplingrate: %d"), mediaContent->iSamplingrate);
+
+ /**
+ * Channels. (MRSS) (Not used in client side)
+ * Not supported.
+ */
+
+ /**
+ * Duration. (MRSS)
+ * Duration is the number of seconds the media object plays. It is an optional attribute.
+ */
+ //TUint32 iDuration;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iDuration: %d"), mediaContent->iDuration);
+
+ /**
+ * Height. (MRSS) (Not used in client side)
+ * Height is the height of the media object. It is an optional attribute.
+ */
+ //TUint32 iHeight;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iHeight: %d"), mediaContent->iHeight);
+
+ /**
+ * Width. (MRSS) (Not used in client side)
+ * Width is the width of the media object. It is an optional attribute.
+ */
+ //TUint32 iWidth;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iWidth: %d"), mediaContent->iWidth);
+
+ /**
+ * Language. (MRSS)
+ * Lang is the primary language encapsulated in the media object. Language codes possible are detailed in
+ * RFC 3066. This attribute is used similar to the xml:lang attribute detailed in the XML 1.0 Specification
+ * (Third Edition). It is an optional attribute.
+ */
+ //TBuf<KIptvCALanguageLength> iLanguage;
+ iIptvTestUtilities->WriteVerifyData(iCaseId, _L(" iLanguage: %S"), &mediaContent->iLanguage);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::SetIap
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::SetIap(const TUint32 aIap)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::SetIap");
+ TInt rv = KErrNone;
+ VCXLOGLO2("Selected Iap = %d",aIap);
+
+ TRAPD(error,rv = iIptvVodContenClient->SetIapL(aIap));
+ if(KErrNone != error)
+ {
+ rv =error;
+ }
+ else
+ {
+ iIapId = aIap;
+ }
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::SetIap");
+ return rv;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::TestGetUpdateTimeL
+// -----------------------------------------------------------------------------
+//
+TInt CIptvVodContentApiTest::TestGetUpdateTimeL(TTime& aTime)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::TestGetUpdateTimeL");
+ TInt rv = KErrNone;
+
+ TRAPD(error, rv = iIptvVodContenClient->GetUpdateTimeL(aTime));
+
+ if(KErrNone != error)
+ {
+ rv = error;
+ }
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::TestGetUpdateTimeL");
+ return rv;
+ }
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::GetDateInts
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::GetDateInts(TDateTime aDateTime, TInt& year, TInt& month, TInt& day, TInt& hour, TInt& minute, TInt& second )
+ {
+ year = aDateTime.Year();
+ month = aDateTime.Month() + 1;
+ day = aDateTime.Day() + 1;
+ hour = aDateTime.Hour();
+ minute = aDateTime.Minute();
+ second = aDateTime.Second();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CIptvVodContentApiTest::RemoveServiceNumberFromThumbnailPathL
+// -----------------------------------------------------------------------------
+//
+void CIptvVodContentApiTest::RemoveServiceNumberFromThumbnailPathL(TDes& aThumbnailPath)
+ {
+ VCXLOGLO1(">>>CIptvVodContentApiTest::RemoveServiceNumberFromThumbnailPath");
+
+ HBufC* thumbPath;
+ thumbPath = HBufC::NewL(2048);
+
+ CleanupStack::PushL(thumbPath);
+
+ TInt pos;
+
+ TBool success = EFalse;
+
+ pos = aThumbnailPath.Find( _L("ecg\\") );
+ if( pos != KErrNotFound )
+ {
+ thumbPath->Des().Append( aThumbnailPath.Left(pos+4) );
+
+ pos = aThumbnailPath.Find( _L("tbn\\") );
+ if( pos != KErrNotFound )
+ {
+ thumbPath->Des().Append( _L("X") );
+ thumbPath->Des().Append( aThumbnailPath.Right( aThumbnailPath.Length() - (pos-1) ) );
+
+ success = ETrue;
+ }
+ }
+
+ if(success)
+ {
+ aThumbnailPath = thumbPath->Des();
+ }
+
+ CleanupStack::PopAndDestroy(thumbPath);
+
+ VCXLOGLO1("<<<CIptvVodContentApiTest::RemoveServiceNumberFromThumbnailPath");
+ }
+
+// End of File