serviceproviders/sapi_mediamanagement/mediamanagementservice/inc/mgthumbnailgeneration.h
changeset 5 989d2f495d90
--- /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_ */