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; |