diff -r 000000000000 -r 96612d01cf9f videofeeds/hgvodui/inc/vcxhgvodthumbnailmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/hgvodui/inc/vcxhgvodthumbnailmanager.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 2009 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: HG VOD class for handling thumbnail loading* +*/ + + + + +#ifndef VCXHGVODTHUMBNAILMANAGER_H +#define VCXHGVODTHUMBNAILMANAGER_H + +#include + +#include "vcxnsimageconverterobserver.h" + +class CVcxNsImageConverter; +class MVcxHgVodThumbnailObserver; +class CVcxHgVodThumbnailRequest; + +// CLASS DECLARATION +/** + * Utility class for handling thumbnail loading + * + * @lib vcxhgvodui.lib + * @since S60 v5.0 + */ +NONSHARABLE_CLASS( CVcxHgVodThumbnailManager ): public CBase, + public MVcxNsImageConverterObserver + { +public: + + static CVcxHgVodThumbnailManager* NewL( RFs& aFsSession ); + + static CVcxHgVodThumbnailManager* NewLC( RFs& aFsSession ); + + virtual ~CVcxHgVodThumbnailManager(); + + /** + * Resets the thumbnail fetching buffer from all clients. Ok, as we should have + * only one client that actually matters (ie. displays thumbnails on screen). + */ + void Reset(); + + /** + * Adds a new thumbnail fetching request to buffer. + * + * @param aObserver Observer which is notified when thumbnail is ready. + * @param aThumbnailPath Path to the thumbnail file. + * @param aRequestedSize Size of the needed thumbnail. + * @param aClientId Client specific unique id for the thumbnail. + */ + void AddThumbnailRequestL( MVcxHgVodThumbnailObserver& aObserver, + const TDesC& aThumbnailPath, TSize aRequestedSize, TInt64 aClientId ); + + /** + * From MVcxNsImageConverterObserver + * Notify about completed image conversion. + * + * @param aError Error code. + * @param aIcon Pointer to the created icon, ownership is transferred. + * NULL if conversion failed with error. + */ + void ImageConversionCompletedL( TInt aError, CGulIcon* aIcon ); + +private: + + CVcxHgVodThumbnailManager(); + + void ConstructL( RFs& aFsSession ); + +private: // data + + /** + * Converts the images to requested size. + * Own. + */ + CVcxNsImageConverter* iImageConverter; + + /** + * Buffer for thumbnail requests. Owns items in array. + */ + RPointerArray iRequestBuffer; + + }; + +#endif // VCXHGVODTHUMBNAILMANAGER_H