imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailtaskprocessor.cpp
equal
deleted
inserted
replaced
103 if(iPeriodicTimer) |
103 if(iPeriodicTimer) |
104 { |
104 { |
105 iPeriodicTimer->Cancel(); |
105 iPeriodicTimer->Cancel(); |
106 } |
106 } |
107 delete iPeriodicTimer; |
107 delete iPeriodicTimer; |
108 |
108 iPeriodicTimer = NULL; |
109 } |
109 } |
110 |
110 |
111 |
111 |
112 // --------------------------------------------------------------------------- |
112 // --------------------------------------------------------------------------- |
113 // CThumbnailTaskProcessor::AddTaskL() |
113 // CThumbnailTaskProcessor::AddTaskL() |
153 { |
153 { |
154 if ( task->State() != CThumbnailTask::ERunning ) |
154 if ( task->State() != CThumbnailTask::ERunning ) |
155 { |
155 { |
156 // Remove task from queue |
156 // Remove task from queue |
157 delete task; |
157 delete task; |
|
158 task = NULL; |
158 iTasks.Remove( i ); |
159 iTasks.Remove( i ); |
159 |
160 |
160 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTask() - removed request ID: %d", aRequestId.iRequestId); |
161 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTask() - removed request ID: %d", aRequestId.iRequestId); |
161 } |
162 } |
162 else |
163 else |
163 { |
164 { |
164 // Task is already running, canceled first |
165 // Task is already running, canceled first |
165 task->Cancel(); |
166 task->Cancel(); |
166 delete task; |
167 delete task; |
|
168 task = NULL; |
167 iTasks.Remove( i ); |
169 iTasks.Remove( i ); |
168 cancel = ETrue; |
170 cancel = ETrue; |
169 |
171 |
170 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTask() - canceled & removed request ID: %d", aRequestId.iRequestId); |
172 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTask() - canceled & removed request ID: %d", aRequestId.iRequestId); |
171 } |
173 } |
205 TBool cancel = EFalse; |
207 TBool cancel = EFalse; |
206 |
208 |
207 for ( TInt i = iTasks.Count(); --i >= 0; ) |
209 for ( TInt i = iTasks.Count(); --i >= 0; ) |
208 { |
210 { |
209 CThumbnailTask* task = iTasks[i]; |
211 CThumbnailTask* task = iTasks[i]; |
|
212 |
210 if ( task->RequestId().iSession == aSession) |
213 if ( task->RequestId().iSession == aSession) |
211 { |
214 { |
212 if ( task->State() != CThumbnailTask::ERunning ) |
215 if ( task->State() != CThumbnailTask::ERunning ) |
213 { |
216 { |
214 TThumbnailRequestId id = task->RequestId().iRequestId; |
217 TThumbnailRequestId id = task->RequestId().iRequestId; |
215 |
218 |
216 // Remove task from queue |
219 // Remove task from queue |
217 delete task; |
220 delete task; |
|
221 task = NULL; |
218 iTasks.Remove( i ); |
222 iTasks.Remove( i ); |
219 |
223 |
220 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - removed request ID: %d", id); |
224 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - removed request ID: %d", id); |
221 } |
225 } |
222 else |
226 else |
226 TThumbnailRequestId id = task->RequestId().iRequestId; |
230 TThumbnailRequestId id = task->RequestId().iRequestId; |
227 |
231 |
228 // Task is already running, canceled first |
232 // Task is already running, canceled first |
229 task->Cancel(); |
233 task->Cancel(); |
230 delete task; |
234 delete task; |
|
235 task = NULL; |
231 iTasks.Remove( i ); |
236 iTasks.Remove( i ); |
232 cancel = ETrue; |
237 cancel = ETrue; |
233 |
238 |
234 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - canceled & removed request ID: %d", id); |
239 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - canceled & removed request ID: %d", id); |
235 } |
240 } |
264 { |
269 { |
265 TThumbnailRequestId id = task->RequestId().iRequestId; |
270 TThumbnailRequestId id = task->RequestId().iRequestId; |
266 |
271 |
267 // Remove task from queue |
272 // Remove task from queue |
268 delete task; |
273 delete task; |
|
274 task = NULL; |
269 iTasks.Remove( i ); |
275 iTasks.Remove( i ); |
270 |
276 |
271 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - removed request ID: %d", id); |
277 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - removed request ID: %d", id); |
272 } |
278 } |
273 else |
279 else |
277 TThumbnailRequestId id = task->RequestId().iRequestId; |
283 TThumbnailRequestId id = task->RequestId().iRequestId; |
278 |
284 |
279 // Task is already running, canceled first |
285 // Task is already running, canceled first |
280 task->Cancel(); |
286 task->Cancel(); |
281 delete task; |
287 delete task; |
|
288 task = NULL; |
282 iTasks.Remove( i ); |
289 iTasks.Remove( i ); |
283 cancel = ETrue; |
290 cancel = ETrue; |
284 |
291 |
285 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - canceled & removed request ID: %d", id); |
292 TN_DEBUG2( "CThumbnailTaskProcessor::RemoveTasks() - canceled & removed request ID: %d", id); |
286 } |
293 } |
340 CThumbnailTask* task = iTasks[i]; |
347 CThumbnailTask* task = iTasks[i]; |
341 if ( task->State() == CThumbnailTask::EComplete ) |
348 if ( task->State() == CThumbnailTask::EComplete ) |
342 { |
349 { |
343 // Delete completed task |
350 // Delete completed task |
344 delete task; |
351 delete task; |
|
352 task = NULL; |
345 iTasks.Remove( i ); |
353 iTasks.Remove( i ); |
346 } |
354 } |
347 else |
355 else |
348 { |
356 { |
349 if( task->State() == CThumbnailTask::EIdle ) |
357 if( task->State() == CThumbnailTask::EIdle ) |