homescreenplugins/videochplugin/src/videocontentharvestermpxclient.cpp
branchRCL_3
changeset 10 112a725ff2c2
parent 9 5294c000a26d
child 11 8970fbd719ec
--- a/homescreenplugins/videochplugin/src/videocontentharvestermpxclient.cpp	Mon Mar 15 12:40:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,697 +0,0 @@
-/*
-* Copyright (c) 2008 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: 
-*
-*/
-
-
-#include <e32std.h>
-#include <mpxcollectionutility.h>
-#include <mpxmediacontainerdefs.h>
-#include <mpxmediageneraldefs.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxcollectionmessagedefs.h>
-#include <mpxcollectionpath.h>
-#include <mpxmessage2.h>
-#include <mpxcollectionmessage.h>
-#include <mpxlog.h>
-#include <mpxitemid.h>
-#include <mpxmessagecontainerdefs.h>
-#include <vcxmyvideosdefs.h>
-#include <vcxmyvideosuids.h>
-#include <mpxcommandgeneraldefs.h>
-#include <mpxcollectioncommanddefs.h>
-#include "IptvDebug.h"
-
-#include "videocontentharvesterplugin.h"
-#include "videocontentharvestermpxclient.h"
-#include "videochpublishabledata.h"
-#include "videochpublisher.h"
-#include "videonotificationlauncher.h"
-#include "videochmcategorylistener.h"
-#include "videoahpluginconstants.h"
-#include "iptvlastwatchedapi.h"
-#include "iptvlastwatcheddata.h"
-
-const TInt KVcxMpxLevelCategories = 2;
-const TInt KVcxMpxLevelVideos     = 3;
-
-const TUint32 KVcxnsCHUid = 0x2001B2A8;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterMpxClient::CVcxNsContentHarvesterMpxClient( CVcxNsChPublisher* aPublisher,
-                                                                  CVcxNsChPublishableData* aPublishableData,
-                                                                  CVcxNsContentHarvesterPlugin* aPlugin ):
-    iCollectionOpenStatus( EVcxNsCollectionNotOpen ),
-    iPublisher( aPublisher ),
-    iPublishableData( aPublishableData ),
-    iPlugin( aPlugin )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::ConstructL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::ConstructL IN");
-    
-    TUid domain   = TUid::Uid( KVcxNsMpxMediatorDomain );
-    TUid category = TUid::Uid( KVcxNsMpxMediatorCategory );
-    TVersion version = TVersion( KVcxNsMpxEventVersion, 0, 0 );
-    
-    iMCategoryListener = CVcxNsChMCategoryListener::NewL( this,
-                                                          domain,
-                                                          category,
-                                                          version );
-    TInt event =  TInt( KVcxNsMpxEventDownloadStarted );
-    iMCategoryListener->RegisterAndSubscribeL( event );
-    
-    event = TInt( KVcxNsMpxEventAllDownloadsEnded );
-    iMCategoryListener->RegisterAndSubscribeL( event );
-
-    domain   = TUid::Uid( KVcxNsAhMediatorDomain );
-    category = TUid::Uid( KVcxNsAhMediatorCategory );
-    version = TVersion( KVcxNsAhEventVersion, 0, 0 );
-    
-    iAhCategoryListener= CVcxNsChMCategoryListener::NewL( this,
-                                                          domain,
-                                                          category,
-                                                          version );
-
-    event = TInt( KVcxNsAhEventSuiteLoaded );
-    iAhCategoryListener->RegisterAndSubscribeL( event );
-    
-    event = TInt( KVcxNsAhEventSuiteUnloaded );
-    iAhCategoryListener->RegisterAndSubscribeL( event );
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::ConstructL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterMpxClient* CVcxNsContentHarvesterMpxClient::NewL( CVcxNsChPublisher* aPublisher,
-                                                                        CVcxNsChPublishableData* aPublishableData,
-                                                                        CVcxNsContentHarvesterPlugin* aPlugin )
-    {
-    CVcxNsContentHarvesterMpxClient* self = new( ELeave ) CVcxNsContentHarvesterMpxClient( aPublisher,
-                                                                                           aPublishableData,
-                                                                                           aPlugin );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CVcxNsContentHarvesterMpxClient::~CVcxNsContentHarvesterMpxClient()
-     {
-     delete iMCategoryListener;
-     delete iAhCategoryListener;
-     
-     delete iObservedCategory;
-     CloseCollection();
-     }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCollectionMediaL( 
-        const CMPXMedia& /*aMedia*/,
-        TInt /*aError*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCollectionMessage( 
-        CMPXMessage* aMessage,
-        TInt aError )
-    {
-    TRAP_IGNORE( HandleCollectionMessageL( aMessage, aError ) );
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCollectionMessageL( 
-        CMPXMessage* aMessage,
-        TInt aError )
-    {
-    HandleSingleCollectionMessageL( aMessage, aError );
-    
-    if ( aMessage->IsSupported( KMPXMessageArrayContents ) )
-        {
-        const CMPXMessageArray* messageArray =
-            aMessage->Value<CMPXMessageArray>( KMPXMessageArrayContents );
-        for( TInt i = 0; i < messageArray->Count(); i++ )
-            {
-            HandleSingleCollectionMessageL( (*messageArray)[i], KErrNone );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleSingleCollectionMessageL( 
-        CMPXMessage* aMessage,
-        TInt aError )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleSingleCollectionMessageL IN");
-    
-    if ( aMessage && aError == KErrNone )
-        {
-        switch ( *( aMessage->Value<TMPXMessageId>( KMPXMessageGeneralId ) ) )
-            {
-            case KVcxCommandIdMyVideos:
-                {
-                if ( aMessage->IsSupported( KVcxMediaMyVideosCommandId ) )
-                    {
-                    TInt mvMsgId = *(aMessage->Value<TInt>( KVcxMediaMyVideosCommandId ) );
-
-                    switch ( mvMsgId )
-                        {
-                        case KVcxMessageMyVideosItemsAppended:
-                            HandleMyVideosItemsAppendedL( aMessage, aError );
-                            break;
-                        case KVcxMessageMyVideosGetMediasByMpxIdResp:
-                            break;
-                        default:
-                            break;
-                        }
-                    }
-                }
-                break;
-            case KMPXMessageGeneral:
-                {
-                TInt event( *(aMessage->Value<TInt>( KMPXMessageGeneralEvent )) );
-                TInt data( *(aMessage->Value<TInt>( KMPXMessageGeneralData )) );
-
-                switch ( event )
-                    {
-                    case TMPXCollectionMessage::EPathChanged:
-                        {
-                        if ( data == EMcContainerOpened  )
-                            {
-                             if ( iCollectionOpenStatus == EVcxNsCollectionOpening )
-                                {
-                                iCollectionOpenStatus = EVcxNsCollectionOpened;
-                                }
-                             if( iCollectionUtility )
-                                 {
-                                 iCollectionUtility->Collection().OpenL();
-                                 }
-                            }
-                        }
-                        break;
-                        
-                    case TMPXCollectionMessage::ECollectionChanged:                     
-                    case TMPXCollectionMessage::EBroadcastEvent:
-                    case TMPXCollectionMessage::ENoEvent:
-                    case TMPXCollectionMessage::EError:
-                    case TMPXCollectionMessage::EMediaChanged:
-                    case TMPXCollectionMessage::EItemChanged:
-                    case TMPXCollectionMessage::EFocusChanged:
-                    case TMPXCollectionMessage::EAsyncOpComplete:
-                    case TMPXCollectionMessage::EExtendedMessage:
-                    default:
-                        break;
-                    }
-                }
-                break;
-            case KMPXMessageIdItemChanged:
-                {
-                HandleMyVideosItemsChangedL( aMessage, aError );
-                }
-                break;
-            
-            default:
-                break;
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleSingleCollectionMessageL OUT");
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleOpenL( 
-        const CMPXMedia& aEntries,
-        TInt /*aIndex*/,
-        TBool /*aComplete*/,
-        TInt aError )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleOpenL IN");
-    if ( aError == KErrNone )
-        {
-        TInt levels = CollectionLevelL();
-
-        // should the interesting level be the root?
-        if ( levels == KVcxMpxLevelCategories )
-            {
-            // Check that entry has an array of contents.
-            if ( aEntries.IsSupported( KMPXMediaArrayContents ) )
-                {
-                CMPXMediaArray* pointerArray = 
-                    aEntries.Value<CMPXMediaArray>(KMPXMediaArrayContents);
-                CMPXMediaArray* categoryArray = CMPXMediaArray::NewL( *pointerArray );
-                CleanupStack::PushL( categoryArray );
-
-                SearchAndStoreCategoryL( categoryArray );
-
-                CleanupStack::Pop( categoryArray );
-                }
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleOpenL OUT");
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//                      
-void CVcxNsContentHarvesterMpxClient::HandleOpenL( 
-        const CMPXCollectionPlaylist& /*aPlaylist*/,
-        TInt /*aError*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleCommandComplete( 
-        CMPXCommand* /*aCommandResult*/, 
-        TInt /*aError*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsAppendedL( CMPXMessage* /*aMessage*/,
-                                                                   TInt /*aError*/ )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsAppendedL IN");
-
-    TInt levels = CollectionLevelL();
-
-    if ( levels == KVcxMpxLevelCategories )
-        {
-        UpdateNewVideoCountL();       
-        }
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsAppendedL OUT");
-    }
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsChangedL( CMPXMessage* aMessage,
-                                                                   TInt /*aError*/ )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsChangedL IN");
-    
-    if( aMessage && aMessage->IsSupported( KMPXMessageChangeEventType ) )
-        {
-        TMPXChangeEventType eventType( 
-                *aMessage->Value<TMPXChangeEventType>( KMPXMessageChangeEventType ) );
-   
-       
-        if( eventType == EMPXItemDeleted )
-            {        
-            HandleContentModifiedL( aMessage );
-            }
-    
-        TMPXItemId eventData( 
-                *aMessage->Value<TMPXItemId>( KMPXMessageMediaGeneralId ) );
-
-        TInt levels = CollectionLevelL();
-
-        if ( levels == KVcxMpxLevelCategories )
-            {
-            UpdateNewVideoCountL();
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::HandleMyVideosItemsChangedL OUT");
-    }
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::HandleContentModifiedL( CMPXMessage* aMessage )
-    {
-    // check preloaded content allways, in case it's data still exists in the PS
-    TPtrC preloadedName = 
-        iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                        TPtrC8( KTvVideoName ) );
-    
-    TPtrC preloadedPath = 
-                       iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                                       TPtrC8( KTvVideoPath ) );
-    
-    TPtrC lastWatchedName = 
-            iPublishableData->GetDesCDataL( EVCxNsCPContentLastWatched,
-                                            TPtrC8( KTvVideoName ) );
-    TInt lastWType = 
-            iPublishableData->GetIntDataL( EVCxNsCPContentLastWatched,
-                                            TPtrC8( KTvVideoLastWatchedType ) );
-    if( preloadedName.Length() > 0 )
-        {
-        TPtrC filePath = 
-            iPublishableData->GetDesCDataL( EVCxNsCPContentPreloaded,
-                                            TPtrC8( KTvVideoPath ) );
-        if( !iPublishableData->FileExists( filePath ) )
-            {
-            // file no longer exists, remove it's data from the CP
-            iPublisher->DeleteContentL( EVCxNsCPContentPreloaded );
-            } 
-        else
-            {
-            iPublisher->PublishContentL( EVCxNsCPContentPreloaded );
-            }
-        }
-    
-    // check last watched item
-    if( lastWatchedName.Length() > 0 && lastWType == EVCxNsCPContentLastWatched )
-        {
-        
-        TMPXItemId itemId = aMessage->ValueTObjectL< TMPXItemId >( KMPXMessageMediaGeneralId );      
-        // check if deleted was last watched
-        CIptvLastWatchedData* data =  CIptvLastWatchedData::NewL();
-        CleanupStack::PushL( data );
-        iPublishableData->LastWatchedApi().GetLastWatchedDataL( *data );
-        if( data->MpxId() == itemId.iId1 )
-            {
-            // last watched removed, clear data 
-            iPublishableData->ClearData( EVCxNsCPContentLastWatched );
-            iPublisher->PublishContentL( EVCxNsCPContentLastWatched );
-            }
-        else
-            {
-            // check if preloaded was last watched
-            if( preloadedName.Length() > 0 && !data->Uri().CompareF( preloadedPath ) )
-                {
-                // it was, so clear last watched
-                iPublishableData->ClearData( EVCxNsCPContentLastWatched );
-                iPublisher->PublishContentL( EVCxNsCPContentLastWatched );
-                }
-            
-            }
-        CleanupStack::PopAndDestroy( data );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::MediatorEventL( TUid aDomain,
-                                                      TUid aCategory,
-                                                      TInt aEventId,
-                                                      const TDesC8& )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL IN");
-    
-    if( aDomain    == TUid::Uid( KVcxNsMpxMediatorDomain ) &&
-        aCategory  == TUid::Uid( KVcxNsMpxMediatorCategory ) )
-        {
-        if( aEventId == KVcxNsMpxEventDownloadStarted )
-            {
-            IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL dl started");
-
-            iOngoingDownloads = ETrue;
-            }
-        if( aEventId == KVcxNsMpxEventAllDownloadsEnded )
-            {
-            IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL dls finished");
-
-            iOngoingDownloads = EFalse;
-            }
-        }
-    
-    if( aDomain    == TUid::Uid( KVcxNsAhMediatorDomain ) &&
-        aCategory  == TUid::Uid( KVcxNsAhMediatorCategory ) )
-        {
-        if( aEventId == KVcxNsAhEventSuiteLoaded )
-            {
-            iTvVideoSuiteLoaded = ETrue;
-            }
-        if( aEventId == KVcxNsAhEventSuiteUnloaded )
-            {
-            iTvVideoSuiteLoaded = EFalse; 
-            
-            if( iOngoingDownloads )
-                {   
-                iPlugin->NotificationLauncher()->LaunchExitingNotificationL();
-                }
-            }
-        }
-    
-    if ( iCollectionOpenStatus == EVcxNsCollectionNotOpen )
-        {
-        if ( iTvVideoSuiteLoaded || iOngoingDownloads )
-            {
-            OpenCollectionL();
-            UpdateCategoryL();
-            }
-        }
-    else
-        {
-        if( !iTvVideoSuiteLoaded && !iOngoingDownloads  )
-            {
-            CloseCollection();
-            }
-        }       
-     
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::MediatorEventL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CVcxNsContentHarvesterMpxClient::CollectionLevelL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::CollectionLevelL");
-    
-    if ( iCollectionUtility )
-        {
-        CMPXCollectionPath* path = iCollectionUtility->Collection().PathL();
-        CleanupStack::PushL( path );
-        TInt levels = path->Levels();
-        CleanupStack::PopAndDestroy( path );
-        
-        return levels;
-        }
-
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::UpdateNewVideoCountL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateNewVideoCountL IN");
-    
-    if( iObservedCategory && 
-        iObservedCategory->IsSupported( KVcxMediaMyVideosCategoryNewItemCount ) &&
-        iObservedCategory->IsSupported( KVcxMediaMyVideosCategoryItemCount ) )
-        {
-        TInt newVideosCount = iObservedCategory->ValueTObjectL<TUint32>( KVcxMediaMyVideosCategoryNewItemCount );
-        TInt videoCount = iObservedCategory->ValueTObjectL<TUint32>( KVcxMediaMyVideosCategoryItemCount );
-        TBool hasNewVideos = newVideosCount > 0;
-
-        TBool hadNewVideos = 
-                iPublishableData->GetIntDataL( EVCxNsCPContentMyVideos,
-                                               TPtrC8( KTvVideoHasNewVideos ) );
-
-        TInt savedCount = 
-                iPublishableData->GetIntDataL( EVCxNsCPContentMyVideos,
-                                               TPtrC8( KTvVideoCount ) );
-        
-        if( hasNewVideos != hadNewVideos ||
-            ( hasNewVideos && newVideosCount != savedCount ) ||
-            ( !hasNewVideos && videoCount != savedCount ) )
-            {
-            if( hasNewVideos )
-                {
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoCount ),
-                                            newVideosCount );
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoHasNewVideos ),
-                                            ETrue );                                
-                TPtrC newVideoName( iObservedCategory->ValueText( KVcxMediaMyVideosCategoryNewItemName ) );
-                
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoName ),
-                                            newVideoName );     
-                }
-            else
-                {
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoCount ),
-                                            videoCount );
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoHasNewVideos ),
-                                            EFalse );
-                iPublishableData->SetDataL( EVCxNsCPContentMyVideos, 
-                                            TPtrC8( KTvVideoName ),
-                                            KNullDesC );
-                }
-            
-            iPublisher->PublishContentL( EVCxNsCPContentMyVideos );
-            }
-        }
-
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateNewVideoCountL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::UpdateCategoryL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateCategoryL IN");
-    
-    if ( iCollectionOpenStatus == EVcxNsCollectionNotOpen )
-        {
-        // Not opened, open the collection.
-        OpenCollectionL(); 
-        }
-    else
-        {
-        if ( !iCollectionUtility )
-            {
-            return;
-            }
-        
-        if ( CollectionLevelL() == KVcxMpxLevelVideos )
-            {
-            // Openend in video level, back
-            iCollectionUtility->Collection().BackL();
-            }
-        else
-            {
-            // Already open, refetch the data
-            iCollectionUtility->Collection().OpenL();
-            }
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::UpdateCategoryL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::SearchAndStoreCategoryL( CMPXMediaArray* categoryArray )
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::SearchAndStoreCategoryL IN");
-    
-    if( categoryArray->Count() > 0 )
-        {
-        CMPXMedia* category = categoryArray->AtL( 0 );
-        
-        if( category )
-             {
-             if( iObservedCategory )
-                 {
-                 delete iObservedCategory;
-                 iObservedCategory = NULL;
-                 }
-             
-             iObservedCategory = CMPXMedia::NewL( *category );
-             
-             UpdateNewVideoCountL();
-             }
-        }
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::SearchAndStoreCategoryL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::OpenCollectionL()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::OpenCollectionL IN");
-    
-    if( !iCollectionUtility )
-        {
-        // use our content harvester plugin's uid as a mode
-        // to prevent collection utility we use to be binded 
-        // into context of other possible collection utility clients
-        // in other content harvester plugins
-        TUid mode = TUid::Uid( KVcxnsCHUid );
-        iCollectionUtility = MMPXCollectionUtility::NewL( this, mode );
-        }
-
-    iCollectionOpenStatus = EVcxNsCollectionOpening;
-    
-    CMPXCollectionPath* path = CMPXCollectionPath::NewL();
-    CleanupStack::PushL( path );
-    path->AppendL( KVcxUidMyVideosMpxCollection ); //my videos
-    iCollectionUtility->Collection().OpenL( *path );
-    CleanupStack::PopAndDestroy( path );
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::OpenCollectionL OUT");
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CVcxNsContentHarvesterMpxClient::CloseCollection()
-    {
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::CloseCollection IN");
-    
-    if( iCollectionUtility )
-        {
-        iCollectionUtility->Close();
-        iCollectionUtility = NULL;
-        iCollectionOpenStatus = EVcxNsCollectionNotOpen;
-        }
-    
-    IPTVLOGSTRING_LOW_LEVEL("CVcxNsContentHarvesterMpxClient::CloseCollection OUT");
-    }