videocollection/hgmyvideos/inc/vcxhgmyvideosdownloadupdater.h
branchRCL_3
changeset 15 8f0df5c82986
parent 14 55fa1ec415c6
child 16 67eb01668b0e
--- a/videocollection/hgmyvideos/inc/vcxhgmyvideosdownloadupdater.h	Tue May 11 16:15:40 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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:      Class for following and updating download progress.*
-*/
-
-
-
-
-#ifndef VCXHGMYVIDEOSDOWNLOADUPDATER_H
-#define VCXHGMYVIDEOSDOWNLOADUPDATER_H
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32base.h>
-
-#include <mpxcollectionmessagedefs.h>
-
-class CVcxHgMyVideosVideoModelHandler;
-class CPeriodic;
-class CMPXMedia;
-class CMPXMediaArray;
-class CVcxHgMyVideosVideoList;
-
-/**
- * Follows and updates download progress.
- * 
- * @lib vcxhgmyvideos.lib 
- */
-NONSHARABLE_CLASS( CVcxHgMyVideosDownloadUpdater ) : public CBase
-    {
-    protected:
-
-        /**
-         * TDownloadItem
-         * Private inner class for storing polled downloads and their
-         * previous statuses and progresses.
-         */
-        class TDownloadItem
-            {
-            public:
-
-                /**
-                 * Mpx media object. 
-                 * Not own.
-                 */
-                CMPXMedia* iMedia;
-
-                /**
-                 * Old state, used for determine refresh need.
-                 */
-                TVcxMyVideosDownloadState iState;
-
-                /**
-                 * Old progress, used for determine refresh need.
-                 */
-                TUint32 iProgress;
-
-                /**
-                 * Flag for marking that progressive play possibility has been queried.
-                 * Status is followed only for items where query has been made before. 
-                 */
-                TBool iProgressivePlayQueried;
-                
-                /**
-                 * Previous response to CViaPlayerFileDetails::IsPlayPossible(). 
-                 */
-                TBool iIsPlayPossible;
-            };
-
-    public:
-    
-        /**
-         * Two-phased constructor.
-         * 
-         * @param aParent Parent class.
-         * @param aVideoArray Reference to video array.
-         */
-        static CVcxHgMyVideosDownloadUpdater* NewL(
-            CVcxHgMyVideosVideoModelHandler& aParent,
-            CVcxHgMyVideosVideoList& aVideoArray );
-
-        /**
-         * Destructor.
-         */
-        virtual ~CVcxHgMyVideosDownloadUpdater();
-    
-        /**
-         * Sets video download updater to pause or normal mode.
-         * 
-         * @param aPaused If ETrue, updater is paused.
-         */
-        void SetPausedL( TBool aPaused );
-
-        /**
-         * Removes the download from download array.
-         *
-         * @param aMpxItemId MPX item ID of media object.
-         */
-        void RemoveDownload( TMPXItemId aMpxItemId );
-        
-        /**
-         * Finds the download from download array.
-         * 
-         * @param aMedia MPX media object.
-         * @return Index of array or KErrNotFound.
-         */
-        TInt FindDownload( CMPXMedia* aMedia );
-        
-        /**
-         * Called to inform that array of videos has changed. Causes download
-         * data being re-setted to make sure correct downloads are followed.  
-         */
-        void VideoArrayChangedL();         
-        
-        /**
-         * Checks video data modifications and updates download array.
-         * 
-         * @param aEventType Event type, only expects EMPXItemModified.
-         * @param aMpxItemId MPX item ID of modified video.
-         * @param aExtraInfo Extra information for modification event.
-         */
-        void VideoModifiedL( TMPXChangeEventType aEventType,
-                             TMPXItemId aMpxItemId,
-                             TInt32 aExtraInfo );
-        
-        /**
-         * Checks if progressive play (playback during download) is possible
-         * for given video clip.
-         * 
-         * @param aIndex Video index on video array.
-         * @return ETrue if progressive play is possible.
-         */
-        TBool IsPlayPossible( TInt aIndex );
-
-        /**
-        * Periodic's callback.
-        */
-        static TInt Callback( TAny *aPtr );
-
-    protected:
-
-        CVcxHgMyVideosDownloadUpdater( 
-            CVcxHgMyVideosVideoModelHandler& aParent,
-            CVcxHgMyVideosVideoList& aVideoArray );                
-
-        void ConstructL();
-
-        /**
-         * Makes sure that timer that is following download is running, and runs
-         * only when it is needed.
-         */
-        void ContinueToFollowDownloads();        
-        
-        /**
-         * Resets the list of downloads to follow based on new video array.
-         */
-        void ResetDownloadsToFollowL();
-
-        /**
-         * Update the downloads.
-         */
-        void UpdateDownloadsL();
-
-        /**
-         * Update given download if it's status has changed.
-         * 
-         * @param aItem Download item.
-         */
-        void UpdateDownloadL( TDownloadItem& aItem );        
-
-    protected: // data
-
-        /**
-         * Parent class.
-         */
-        CVcxHgMyVideosVideoModelHandler& iParent;
-        
-        /**
-         * CPeriodic. 
-         * Own.
-         */
-        CPeriodic* iTimer;
-
-        /**
-         * Reference to array of videos.
-         * Not own.
-         */
-        CVcxHgMyVideosVideoList& iVideoArray;
-
-        /**
-         * Flag for pause state of download progress follower.
-         */
-        TBool iPaused;
-
-        /**
-         * Array of polled downloads.
-         * Own.
-         */
-        RArray<TDownloadItem> iDownloadArray;
-    };
-
-#endif // VCXHGMYVIDEOSDOWNLOADUPDATER_H