30 class CFbsBitmap; |
30 class CFbsBitmap; |
31 class RThumbnailSession; |
31 class RThumbnailSession; |
32 class CThumbnailDataImpl; |
32 class CThumbnailDataImpl; |
33 class CThumbnailRequestQueue; |
33 class CThumbnailRequestQueue; |
34 |
34 |
35 enum TThumbnailRequestType |
35 enum TThumbnailReqType |
36 { |
36 { |
37 EReqGetThumbnailHandle = 0, |
37 EReqGetThumbnailHandle = 0, |
38 EReqGetThumbnailPath = 1, |
38 EReqGetThumbnailPath = 1, |
39 EReqSetThumbnailBuffer = 2, |
39 EReqSetThumbnailBuffer = 2, |
40 EReqSetThumbnailBitmap = 3, |
40 EReqSetThumbnailBitmap = 3, |
41 EReqUpdateThumbnails = 4, |
41 EReqUpdateThumbnails = 4, |
42 EReqGetThumbnailHandleLater = 5, |
42 EReqGetThumbnailHandleLater = 5, |
43 EReqDeleteThumbnails = 6, |
43 EReqDeleteThumbnails = 6, |
44 EReqRenameThumbnails = 7 |
44 EReqRenameThumbnails = 7, |
|
45 EReqSetThumbnailPath = 8 |
45 }; |
46 }; |
46 |
47 |
47 /** |
48 /** |
48 * Active object for an asynchronous thumbnail request. |
49 * Active object for an asynchronous thumbnail request. |
49 * |
50 * |
64 * Two-phased constructor |
65 * Two-phased constructor |
65 * |
66 * |
66 * @since S60 v5.0 |
67 * @since S60 v5.0 |
67 * @param aFs Fileserver used. |
68 * @param aFs Fileserver used. |
68 * @param aThumbnailSession Session used. |
69 * @param aThumbnailSession Session used. |
69 * @param aObserver Observer to receive notifications about completed |
70 * @param aObserver Observer to receive notifications about completed operations. |
70 * operations. |
71 * @param aRequestObserver Observer to receive notifications about completed requests. |
71 * @param aId Assigned ID of the request, session specific. |
72 * @param aId Assigned ID of the request, session specific. |
72 * @param aPriority assigned processing priority |
73 * @param aPriority assigned processing priority |
73 * @param aQueue request processor |
74 * @param aQueue request processor |
74 * @return New CThumbnailRequestActive object. |
75 * @return New CThumbnailRequestActive object. |
75 */ |
76 */ |
76 static CThumbnailRequestActive* NewL( RFs& aFs, RThumbnailSession& |
77 static CThumbnailRequestActive* NewL( RFs& aFs, RThumbnailSession& |
77 aThumbnailSession, MThumbnailManagerObserver& aObserver, |
78 aThumbnailSession, MThumbnailManagerObserver& aObserver, |
78 TThumbnailRequestId aId, TInt aPriority, CThumbnailRequestQueue* aQueue ); |
79 MThumbnailManagerRequestObserver* aRequestObserver, TThumbnailRequestId aId, |
|
80 TInt aPriority, CThumbnailRequestQueue* aQueue ); |
79 |
81 |
80 /** |
82 /** |
81 * Get a thumbnail created from file object. |
83 * Get a thumbnail created from file object. |
82 * |
84 * |
83 * @since S60 v5.0 |
85 * @since S60 v5.0 |
161 * anything other than returning it in the |
163 * anything other than returning it in the |
162 * ThumbnailReady callback. |
164 * ThumbnailReady callback. |
163 * @param aGeneratePersistentSizesOnly |
165 * @param aGeneratePersistentSizesOnly |
164 * @param aTargetUri Target URI to which the imported thumbnail is linked. |
166 * @param aTargetUri Target URI to which the imported thumbnail is linked. |
165 * @param aThumbnailSize Requested thumbnail size |
167 * @param aThumbnailSize Requested thumbnail size |
|
168 * @param aOverwrite Overwrite old existing thumbs |
166 */ |
169 */ |
167 void SetThumbnailL( TDesC8* aBuffer, TThumbnailId aThumbnailId, const TDesC8& aMimeType, |
170 void SetThumbnailL( TDesC8* aBuffer, TThumbnailId aThumbnailId, const TDesC8& aMimeType, |
168 CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager |
171 CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager |
169 ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const |
172 ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const |
170 TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly, |
173 TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly, |
171 const TDesC& aTargetUri, TThumbnailSize aThumbnailSize ); |
174 const TDesC& aTargetUri, TThumbnailSize aThumbnailSize, TBool aOverwrite); |
172 |
175 |
173 /** |
176 /** |
174 * Set a thumbnail |
177 * Set a thumbnail |
175 * |
178 * |
176 * @since S60 v5.0 |
179 * @since S60 v5.0 |
185 * anything other than returning it in the |
188 * anything other than returning it in the |
186 * ThumbnailReady callback. |
189 * ThumbnailReady callback. |
187 * @param aGeneratePersistentSizesOnly |
190 * @param aGeneratePersistentSizesOnly |
188 * @param aTargetUri Target URI to which the imported thumbnail is linked. |
191 * @param aTargetUri Target URI to which the imported thumbnail is linked. |
189 * @param aThumbnailSize Requested thumbnail size |
192 * @param aThumbnailSize Requested thumbnail size |
|
193 * @param aOverwrite Overwrite old existing thumbs |
190 */ |
194 */ |
191 void SetThumbnailL( CFbsBitmap* aBitmap, TThumbnailId aThumbnailId, const TDesC8& aMimeType, |
195 void SetThumbnailL( CFbsBitmap* aBitmap, TThumbnailId aThumbnailId, const TDesC8& aMimeType, |
192 CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager |
196 CThumbnailManager::TThumbnailFlags aFlags, CThumbnailManager |
193 ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const |
197 ::TThumbnailQualityPreference aQualityPreference, const TSize& aSize, const |
194 TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly, |
198 TDisplayMode aDisplayMode, const TInt aPriority, TAny* aClientData, TBool aGeneratePersistentSizesOnly, |
195 const TDesC& aTargetUri, TThumbnailSize aThumbnailSize ); |
199 const TDesC& aTargetUri, TThumbnailSize aThumbnailSize, TBool aOverwrite); |
196 |
200 |
197 /** |
201 /** |
198 * Update thumbnails by Id. |
202 * Update thumbnails by Id. |
199 * |
203 * |
200 * @since S60 v5.0 |
204 * @since S60 v5.0 |
233 */ |
237 */ |
234 void RenameThumbnails( const TDesC& aCurrentPath, const TDesC& aNewPath, |
238 void RenameThumbnails( const TDesC& aCurrentPath, const TDesC& aNewPath, |
235 const TInt aPriority ); |
239 const TInt aPriority ); |
236 |
240 |
237 /** |
241 /** |
|
242 * Set thumbnail from file path. |
|
243 * |
|
244 * @param aPath Path to file from which the thumbnail is to be created. |
|
245 * @param aFile File from which the thumbnail is to be created. |
|
246 * @param aFlags Flags that control the creation of thumbnail. |
|
247 * @param aQualityPreference Quality preference value |
|
248 * @param aSize Requested size of the thumbnail. |
|
249 * @param aDisplayMode Display mode. |
|
250 * @param aPriority Priority of the request. |
|
251 * @param aClientData Pointer to arbitrary client data. |
|
252 * This pointer is not used by the API for |
|
253 * anything other than returning it in the |
|
254 * ThumbnailReady callback. |
|
255 * @param aGeneratePersistentSizesOnly |
|
256 * @param aOverwrite Overwrite old existing thumbs |
|
257 * @param aTargetUri Target URI to which the imported thumbnail is linked. |
|
258 * @param aThumbnailSize Relative thumbnail size |
|
259 */ |
|
260 void SetThumbnailL( const TDesC& aPath, const TDesC8& aMimeType, |
|
261 CThumbnailManager::TThumbnailFlags aFlags, |
|
262 CThumbnailManager::TThumbnailQualityPreference aQualityPreference, |
|
263 const TSize& aSize, const TDisplayMode aDisplayMode, const TInt aPriority, |
|
264 TAny* aClientData, TBool aGeneratePersistentSizesOnly, const TDesC& aTargetUri, |
|
265 TThumbnailSize aThumbnailSize, TBool aOverwrite); |
|
266 |
|
267 /** |
238 * Start active request. |
268 * Start active request. |
239 * |
269 * |
240 * @since S60 v5.0 |
270 * @since S60 v5.0 |
241 */ |
271 */ |
242 void StartL(); |
272 void StartL(); |
292 * C++ default constructor |
322 * C++ default constructor |
293 * |
323 * |
294 * @since S60 v5.0 |
324 * @since S60 v5.0 |
295 * @param aFs Fileserver used. |
325 * @param aFs Fileserver used. |
296 * @param aThumbnailSession Session used. |
326 * @param aThumbnailSession Session used. |
297 * @param aObserver Observer to receive notifications about completed |
327 * @param aObserver Observer to receive notifications about completed operations. |
298 * operations. |
328 * @param aRequestObserver Observer to receive notifications about completed requests. |
299 * @param aId Assigned ID of the request, session specific. |
329 * @param aId Assigned ID of the request, session specific. |
300 * @param aPriority assigned processing priority |
330 * @param aPriority assigned processing priority |
301 * @param aQueue request processor |
331 * @param aQueue request processor |
302 * @return New CThumbnailRequestActive object. |
332 * @return New CThumbnailRequestActive object. |
303 */ |
333 */ |
304 CThumbnailRequestActive( RFs& aFs, RThumbnailSession& aThumbnailSession, |
334 CThumbnailRequestActive( RFs& aFs, RThumbnailSession& aThumbnailSession, |
305 MThumbnailManagerObserver& aObserver, TThumbnailRequestId aId, TInt aPriority, |
335 MThumbnailManagerObserver& aObserver, MThumbnailManagerRequestObserver* aRequestObserver, |
306 CThumbnailRequestQueue* aQueue); |
336 TThumbnailRequestId aId, TInt aPriority, CThumbnailRequestQueue* aQueue); |
307 |
337 |
308 /** |
338 /** |
309 * Symbian 2nd phase constructor can leave. |
339 * Symbian 2nd phase constructor can leave. |
310 * |
340 * |
311 * @since S60 v5.0 |
341 * @since S60 v5.0 |
452 TInt64 iModified; |
492 TInt64 iModified; |
453 |
493 |
454 // not own |
494 // not own |
455 CThumbnailRequestQueue* iRequestQueue; |
495 CThumbnailRequestQueue* iRequestQueue; |
456 |
496 |
457 TThumbnailRequestType iRequestType; |
497 TThumbnailReqType iRequestType; |
458 |
498 |
459 // request timeout timer |
499 // request timeout timer |
460 CPeriodic* iTimer; |
500 CPeriodic* iTimer; |
461 TInt iStartError; |
501 TInt iStartError; |
462 |
502 |
463 // request already canceled by client |
503 // request already canceled by client |
464 TBool iCanceled; |
504 TBool iCanceled; |
|
505 |
|
506 #ifdef __RETRY_ON_SERVERCRASH |
|
507 //request retry count |
|
508 TUint iRetry; |
|
509 #endif |
465 |
510 |
466 #ifdef _DEBUG |
511 #ifdef _DEBUG |
467 TTime iStartExecTime; |
512 TTime iStartExecTime; |
468 #endif |
513 #endif |
469 }; |
514 }; |