serviceproviders/sapi_mediamanagement/mediamanagementservice/inc/mgthumbnailgeneration.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/serviceproviders/sapi_mediamanagement/mediamanagementservice/inc/mgthumbnailgeneration.h Fri Jul 03 15:51:24 2009 +0100
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2007-2007 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: This Class generates thumbnail for media (image/video)
+*
+*/
+
+#ifndef MGTHUMBNAILGENERATION_H_
+#define MGTHUMBNAILGENERATION_H_
+
+#include<e32base.h>
+#include<e32cmn.h>
+#include<e32def.h>
+
+const TInt KNegVal = -1;
+
+
+class MThumbnailObserver;
+class MResolution;
+class CThumbnailManager;
+class CThumbnailObserver;
+
+/**
+* CThumbnailGeneration class This class can be used to create instance of CThumbnailGeneration
+*
+* @since Series60 v3.2
+*/
+class CThumbnailGeneration: public CBase
+ {
+
+ public :
+
+ /**
+ * Two-phased constructor
+ * @return CThumbnailGeneration* Returns the instance of
+ * CThumbnailGeneration.
+ */
+
+
+ static CThumbnailGeneration* NewL();
+ /**
+ * This method gives request to generate thumbnail of media file
+ * @param aObserver Pointer to Observer
+ * @param aTransactionID transaction id of thumbnail generation request
+ * @param aUrl It is url of media file whose thumbnail is to be generated
+ * @param aHeight It is required height of thumbnail
+ * @param aWidth It is required width of thumbnail
+ * @ return void
+ */
+
+ void GetThumbnailL(MThumbnailObserver* aObserver,TInt32 aTransactionID, TDesC& aUrl, TInt aHeight =KNegVal, TInt aWidth =KNegVal);
+
+ /**
+ * Destructor
+ *
+ */
+ ~CThumbnailGeneration();
+
+ /**
+ * Cancel method cancels the request of thumbnail generation
+ *
+ */
+ TInt Cancel(TInt32 aTransactionId);
+ private :
+ /**
+ * Constructor
+ *
+ */
+ CThumbnailGeneration();
+ /**
+ * Two phase constructor
+ *
+ */
+ void ConstructL();
+ private:
+
+ /**
+ * It gets the required size of thumbnail
+ *@param aUrl Url of media file
+ *@param aHeight height of the thumbnail
+ *@param aWidth width of thumbnail
+ *@return TSize Size of the thumbnail
+ */
+
+ TSize GetthumbsizeL(TDesC& aUrl,TInt aHeight=KNegVal, TInt aWidth=KNegVal);
+
+ /**
+ * It calculates the size of thumbnail
+ *@param aRes Resolution of media file
+ *@param aHeight height of the thumbnail
+ *@param aWidth width of thumbnail
+ *@return TSize Size of the thumbnail
+ */
+ TSize CalculateSize(TSize aRes, TInt aHeight = KNegVal, TInt aWidth = KNegVal);
+
+ /**
+ * It calculates the size of thumbnail
+ *@param aUrl Url of media file
+ *@return MResolution* Instance of media resolution
+ */
+ MResolution* GetResolutionobjL(TDesC& aUrl);
+ /**
+ * Checks wehter the url is valid or not
+ *@param aUrl Url of media file
+ *@return void
+ */
+ void IsUrlValidL(TDesC& aUrl);
+ /**
+ * Checks wehter the url is valid or not
+ *@param aThumbpath Url of media file
+ *@param aRefDir A refrence directory where thumbnail will be saved
+ *@return TBool If thumbnail exists then it is true else false
+ */
+ TBool IsThumbnailExistL(const TDesC& aThumbpath,const TDesC& aRefDir);
+ /**
+ * Creates the thumbnail path
+ *@param aUrl Url of the media file
+ *@param aThumbsize Thumbnail size
+ *@param aRefDir A refrence directory where thumbnail will be saved
+ *@param aThumbnailPath Path where thumbnail need to be saved
+ *@return void
+ */
+ void CreateThumbnailPathL(TDesC& aUrl, TSize aThumbsize,TDes& aRefDir ,TDes& aThumbnailPath);
+
+ private:
+
+ /**
+ *Pointer to instance of CThumbnailObserver
+ */
+ CThumbnailObserver* iThumbnailObserver;
+
+ /**
+ *Pointer to instance of CThumbnailManager
+ */
+ CThumbnailManager* iThumbnailManager;
+
+ };
+
+#endif /* MGTHUMBNAILGENERATION_H_ */