--- a/imagehandlingutilities/thumbnailmanager/inc/thumbnailprovider.h Fri Sep 03 10:29:37 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: Base class for thumbnail provider plug-ins
- *
-*/
-
-
-#ifndef THUMBNAILPROVIDER_H
-#define THUMBNAILPROVIDER_H
-
-#include <ecom/ecom.h>
-#include <apmstd.h>
-
-#include "thumbnailmanager.h" // TThumbnailFlags
-#include "thumbnaillog.h"
-
-/**
- * Thumbnail provider observer class
- *
- * @since S60 v5.0
- */
-class MThumbnailProviderObserver
- {
-public:
- /**
- * Thumbnail provider observer callback to notify the server when
- * thumbnail has been generated.
- *
- * @since S60 5.0
- * @param aError Error code
- * @param aBitmap Thumbnail bitmap. The observer implementation will
- * assume ownership of the bitmap.
- * @param aOriginalSize Original size of the object in pixels.
- * @param aEXIF ETrue if thumbnail origin is EXIF.
- */
- virtual void ThumbnailProviderReady( TInt aError, CFbsBitmap* aBitmap,
- const TSize& aOriginalSize, const TBool aEXIF, const TBool aPortrait ) = 0;
-};
-
-
-/**
- * Base class for thumbnail provider plug-ins.
- *
- * @since S60 v5.0
- */
-class CThumbnailProvider: public CBase
- {
-public:
- /**
- * Create a provider instance. The instance is identified
- * by the implementation UID.
- */
- static CThumbnailProvider* NewL( TUid aUid );
-
- /**
- * Get the UID of this provider.
- *
- * @since S60 5.0
- * @return Provider implementation UID
- */
- TUid Uid();
-
- /**
- * Set the observer to receive notification
- * about thumbnail generation completion.
- *
- * @since S60 5.0
- * @param aObserver Reference to the observing object. Ownership not
- * transferred.
- */
- void SetObserver( MThumbnailProviderObserver& aObserver );
-
- /**
- * Set the target size for uncropped thumbnails. The actual thumbnail
- * at least this wide or high, depending on which is the limiting
- * factor.
- *
- * @since S60 5.0
- * @param aSize Target size in pixels for uncropped thumbnails.
- */
- void SetTargetSize( const TSize& aSize );
-
- /**
- * Set the target size for cropped thumbnails. The actual thumbnail
- * at least this large and it will include the whole thumbnail,
- * not just the cropped portion.
- *
- * @since S60 5.0
- * @param aCroppedSize Target size in pixels for cropped thumbnails.
- */
- void SetCroppedTargetSize( const TSize& aCroppedSize );
-
- /**
- * Reset thumbnail parameters to defaults.
- */
- void Reset();
-
- /**
- * Get thumbnail bitmap. Must be implemented by provider plug-ins.
- *
- * @since S60 5.0
- * @param aFs File server session that can be used
- * @param aFile File handle to the object file
- * @param aMimeType MIME-type of the object file.
- * @param aFlags Thumbnail generation flags
- * @param aDisplayMode Display mode
- */
- virtual void GetThumbnailL( RFs& aFs, RFile64& aFile, const TDataType&
- aMimeType, const CThumbnailManager::TThumbnailFlags aFlags, const
- TDisplayMode aDisplayMode, const CThumbnailManager::TThumbnailQualityPreference aQualityPreference ) = 0;
-
- /**
- * Get thumbnail bitmap. Must be implemented by provider plug-ins.
- *
- * @since S60 5.0
- * @param aFs File server session that can be used
- * @param aBuffer object buffer
- * @param aMimeType MIME-type of the object file.
- * @param aFlags Thumbnail generation flags
- * @param aDisplayMode Display mode
- */
- virtual void GetThumbnailL( RFs& aFs, TDesC8* aBuffer, const
- TDataType& aMimeType, const CThumbnailManager::TThumbnailFlags aFlags,
- const TDisplayMode aDisplayMode, const CThumbnailManager::TThumbnailQualityPreference aQualityPreference ) = 0;
-
- /**
- * Get thumbnail bitmap. Must be implemented by provider plug-ins.
- *
- * @since S60 5.0
- * @param aFs File server session that can be used
- * @param aBuffer object buffer
- */
-
- virtual void GetThumbnailL( RFs& aFs, TDesC8& aBuffer) = 0;
-
- /**
- * Cancel a previous thumbnail request, if any.
- *
- * @since S60 5.0
- */
- virtual void CancelGetThumbnail() = 0;
-
- virtual ~CThumbnailProvider(){}
-
-protected:
- /**
- * Get the actual target size for the thumbnail.
- * This is the maximum of the non-cropped and cropped
- * target sizes.
- *
- * @since S60 5.0
- */
- inline void ResolveSize();
-
- /**
- * Calculate the scaled down size for the thumbnail.
- * Aspect ratio is always preserved. If cropping is disabled
- * the resulting size at most as wide or tall as requested.
- * If cropping is enabled, the result is at least as wide
- * and as tall as requested (unless original size is smaller
- * than requested).
- *
- * @since S60 5.0
- * @param aOriginalSize Original size in pixels
- * @param aTargetSize Target size in pixels
- * @param aCrop Enable cropping
- * @return Result size
- */
- inline TSize FitToSize( const TSize& aOriginalSize, const TSize&
- aTargetSize, TBool aCrop );
-
-protected:
- /**
- * Provider observer. Implemented by thumbnail generation task.
- * Not own.
- */
- MThumbnailProviderObserver* iObserver;
-
- /**
- * Thumbnail generation flags.
- */
- CThumbnailManager::TThumbnailFlags iFlags;
-
- /**
- * Thumbnail generation flags.
- */
- CThumbnailManager::TThumbnailQualityPreference iQualityPreference;
-
- /**
- * Size of the original object.
- */
- TSize iOriginalSize;
-
- /**
- * Target size for uncropped thumbnails.
- */
- TSize iTargetSize;
-
- /**
- * Target size for cropped thumbnails.
- */
- TSize iCroppedTargetSize;
-
- /**
- * Display mode for thumbnail bitmap
- */
- TDisplayMode iDisplayMode;
-
- /**
- * ECOM plug-in destructor key.
- */
- TUid iDtor_ID_Key;
-
- /**
- * UID of this implementation.
- */
- TUid iUid;
-};
-
-
-#endif // THUMBNAILPROVIDER_H