harvester/harvesterplugins/OMADRMPlugin/inc/harvesteromadrmplugin.h
branchRCL_3
changeset 19 b73252188534
parent 13 4a4892eec172
equal deleted inserted replaced
18:63c982fb92f2 19:b73252188534
    16 
    16 
    17 
    17 
    18 #ifndef __CHARVESTEROMADRMPLUGIN_H__
    18 #ifndef __CHARVESTEROMADRMPLUGIN_H__
    19 #define __CHARVESTEROMADRMPLUGIN_H__
    19 #define __CHARVESTEROMADRMPLUGIN_H__
    20 
    20 
       
    21 #include <mdeobject.h>
    21 #include <e32base.h>
    22 #include <e32base.h>
    22 #include <apmstd.h>
    23 #include <apmstd.h>
    23 #include "harvesterplugin.h"
    24 #include <imageconversion.h>
       
    25 #include <harvesterplugin.h>
       
    26 #include <harvesterdata.h>
       
    27 
    24 
    28 
    25 // FORWARD DECLARATION
    29 // FORWARD DECLARATION
    26 class CMdEObjectDef;
    30 class CFileData;
    27 class CMdEObject;
    31 class CHarvestData;
    28 
    32 
    29 /**
    33 /**
    30 * A data transfer class for harvested drm metadata.
    34 * A data transfer class for harvested drm metadata.
    31 */
    35 */
    32 class CDRMHarvestData : public CBase
    36 class CDRMHarvestData : public CBase
    82 		CMdEPropertyDef* iDrmPropertyDef;
    86 		CMdEPropertyDef* iDrmPropertyDef;
    83 		CMdEPropertyDef* iDescriptionPropertyDef;
    87 		CMdEPropertyDef* iDescriptionPropertyDef;
    84 		CMdEPropertyDef* iAuthorPropertyDef;
    88 		CMdEPropertyDef* iAuthorPropertyDef;
    85 		CMdEPropertyDef* iGenrePropertyDef;
    89 		CMdEPropertyDef* iGenrePropertyDef;
    86 		CMdEPropertyDef* iDefaultFolderPropertyDef;
    90 		CMdEPropertyDef* iDefaultFolderPropertyDef;
    87 	
    91 		CMdEPropertyDef* iWidthPropertyDef;
       
    92 		CMdEPropertyDef* iHeightPropertyDef;
       
    93 	
       
    94 		// Image property definitions
       
    95 		CMdEPropertyDef* iFrameCountPropertyDef;
       
    96 		CMdEPropertyDef* iBitsPerSamplePropertyDef;
    88 	private:
    97 	private:
    89 		CHarvesterOmaDrmPluginPropertyDefs();
    98 		CHarvesterOmaDrmPluginPropertyDefs();
    90 	
    99 	
    91 		void ConstructL(CMdEObjectDef& aObjectDef);
   100 		void ConstructL(CMdEObjectDef& aObjectDef);
    92 
   101 
    93 	public:	
   102 	public:	
    94 		static CHarvesterOmaDrmPluginPropertyDefs* NewL(CMdEObjectDef& aObjectDef);
   103         static CHarvesterOmaDrmPluginPropertyDefs* NewL();
       
   104         void SetByObjectDefL( CMdEObjectDef& aObjectDef) ;
    95 	};
   105 	};
    96 
   106 
    97 class CHarvesterOMADRMPlugin : public CHarvesterPlugin
   107 class CHarvesterOMADRMPlugin : public CHarvesterPlugin
    98   	{
   108   	{
    99 	public:
   109 	public:
   124         
   134         
   125         void GetMimeType( const TDesC& aUri, TDes& aMimeType );
   135         void GetMimeType( const TDesC& aUri, TDes& aMimeType );
   126 	
   136 	
   127 	private:
   137 	private:
   128 		/**
   138 		/**
       
   139         * Gathers data from file to meta data object.
       
   140         *
       
   141         * @param aMetadataObject  A reference to meta data object to gather the data.
       
   142         * @param aDRMharvestData
       
   143         * @param aFileData
       
   144         * @param aHarvestData
       
   145         */
       
   146         TInt GatherDataL( CMdEObject& aMetadataObject, CDRMHarvestData& aDRMharvestData, 
       
   147 			CFileData& aFileData, CHarvestData& aHarvestData );
       
   148 	
       
   149 		
       
   150 		
       
   151 			/**
       
   152 			
   129 		* C++ constructor - not exported;
   153 		* C++ constructor - not exported;
   130 		* implicitly called from NewL()
   154 		* implicitly called from NewL()
   131 		*
   155 		*
   132 		* @return an instance of CHarvesterOMADRMPlugin.
   156 		* @return an instance of CHarvesterOMADRMPlugin.
   133 		*/
   157 		*/
   134 		CHarvesterOMADRMPlugin();
   158 
   135 		
   159 		/**
   136 		/**
       
   137 		* 2nd phase construction, called by NewLC()
       
   138 		*/
       
   139 		void ConstructL();
       
   140 		
       
   141 		/**
       
   142         * Gathers data from file to meta data object.
       
   143         *
       
   144         * @param aMetadataObject  A reference to meta data object to gather the data.
       
   145         * @param aHarvestData  An object to store harvested video file data.
       
   146         */
       
   147         void GatherDataL( CMdEObject& aMetadataObject, CDRMHarvestData& aHarvestData );
       
   148 		
       
   149         /**
       
   150          * Handle addition of new mde video objects.
   160          * Handle addition of new mde video objects.
   151          *
   161          *
   152          * @param aMetadataObject  A reference to meta data object to gather the data.
   162          * @param aMetadataObject  A reference to meta data object to gather the data.
   153          * @param aHarvestData  An object containing harvested video file data.
   163          * @param aDRMharvestData
       
   164          * @param aFileData
       
   165          * @param aHarvestData
   154          */
   166          */
   155         void HandleObjectPropertiesL( CHarvesterData& aHD, CDRMHarvestData& aVHD, TBool aIsAdd );
   167         void HandleObjectPropertiesL( CHarvestData& aHarvestData, CDRMHarvestData& aDRMharvestData, CFileData& aFileData, 
   156 
   168 			CHarvesterData& aHarvesterData, TBool aIsAdd );
       
   169 		
       
   170 				// Default constructor
       
   171 		CHarvesterOMADRMPlugin();
       
   172 	/**
       
   173 	* 2nd phase construction, called by NewLC()
       
   174 		*/
       
   175 		void ConstructL();
       
   176 		
       
   177 	    void InitPropDefsL( CMdEObjectDef& aObjectDef );
       
   178 	      
       
   179   protected:
       
   180         /** 
       
   181          * Handle to File server session.
       
   182          */
       
   183         RFs iFs;
       
   184         
   157 	private:
   185 	private:
       
   186 	     /**
       
   187          *  image decoder
       
   188          */        
       
   189         
       
   190 
       
   191 		
       
   192       
       
   193 
       
   194 
   158 		CHarvesterOmaDrmPluginPropertyDefs* iPropDefs;
   195 		CHarvesterOmaDrmPluginPropertyDefs* iPropDefs;
   159 		
   196 		
   160 		TInt iMaxTextLength;
   197 		TInt iMaxTextLength;
   161 		
   198 		
   162         HBufC* iPhoneImagesPath;
   199         HBufC* iPhoneImagesPath;
   165         HBufC* iPhoneVideosPath;
   202         HBufC* iPhoneVideosPath;
   166         HBufC* iMmcVideosPath;
   203         HBufC* iMmcVideosPath;
   167         
   204         
   168         HBufC* iPhoneSoundsPath;
   205         HBufC* iPhoneSoundsPath;
   169         HBufC* iMmcSoundsPath;
   206         HBufC* iMmcSoundsPath;
       
   207 
   170 	};
   208 	};
   171 
   209 
   172 #endif // __CHarvesterOMADRMPlugin_H__
   210 #endif // __CHarvesterOMADRMPlugin_H__