26 |
26 |
27 #include "thumbagimageobserver.h" |
27 #include "thumbagimageobserver.h" |
28 #include "thumbnaillog.h" |
28 #include "thumbnaillog.h" |
29 #include "thumbnailmanagerconstants.h" |
29 #include "thumbnailmanagerconstants.h" |
30 #include "thumbnailmanagerprivatecrkeys.h" |
30 #include "thumbnailmanagerprivatecrkeys.h" |
|
31 #include "OstTraceDefinitions.h" |
|
32 #ifdef OST_TRACE_COMPILER_IN_USE |
|
33 #include "thumbagimageobserverTraces.h" |
|
34 #endif |
31 |
35 |
32 |
36 |
33 // --------------------------------------------------------------------------- |
37 // --------------------------------------------------------------------------- |
34 // NewLC |
38 // NewLC |
35 // --------------------------------------------------------------------------- |
39 // --------------------------------------------------------------------------- |
36 // |
40 // |
37 CThumbAGImageObserver* CThumbAGImageObserver::NewLC(CThumbAGProcessor* aProcessor) |
41 CThumbAGImageObserver* CThumbAGImageObserver::NewLC(CThumbAGProcessor* aProcessor) |
38 { |
42 { |
39 TN_DEBUG1( "CThumbAGImageObserver::NewLC() - begin" ); |
43 TN_DEBUG1( "CThumbAGImageObserver::NewLC() - begin" ); |
|
44 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_NEWLC, "CThumbAGImageObserver::NewLC - begin" ); |
40 |
45 |
41 CThumbAGImageObserver* self = new (ELeave) CThumbAGImageObserver(aProcessor); |
46 CThumbAGImageObserver* self = new (ELeave) CThumbAGImageObserver(aProcessor); |
42 CleanupStack::PushL( self ); |
47 CleanupStack::PushL( self ); |
43 self->ConstructL(); |
48 self->ConstructL(); |
44 return self; |
49 return self; |
72 // --------------------------------------------------------------------------- |
78 // --------------------------------------------------------------------------- |
73 // |
79 // |
74 void CThumbAGImageObserver::ConstructL() |
80 void CThumbAGImageObserver::ConstructL() |
75 { |
81 { |
76 TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - begin" ); |
82 TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - begin" ); |
|
83 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_CONSTRUCTL, "CThumbAGImageObserver::ConstructL - begin" ); |
77 |
84 |
78 #ifdef _DEBUG |
85 #ifdef _DEBUG |
79 iAddCounter = 0; |
86 iAddCounter = 0; |
80 iModCounter = 0; |
87 iModCounter = 0; |
81 #endif |
88 #endif |
82 |
89 |
83 InitializeL(); |
90 InitializeL(); |
84 |
91 |
85 TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - end" ); |
92 TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - end" ); |
|
93 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_CONSTRUCTL, "CThumbAGImageObserver::ConstructL - end" ); |
86 } |
94 } |
87 |
95 |
88 // --------------------------------------------------------------------------- |
96 // --------------------------------------------------------------------------- |
89 // ~CThumbAGImageObserver |
97 // ~CThumbAGImageObserver |
90 // --------------------------------------------------------------------------- |
98 // --------------------------------------------------------------------------- |
91 // |
99 // |
92 void CThumbAGImageObserver::InitializeL() |
100 void CThumbAGImageObserver::InitializeL() |
93 { |
101 { |
94 TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - begin" ); |
102 TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - begin" ); |
95 |
103 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - begin" ); |
96 |
104 |
97 TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - create observers" ); |
105 TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - create observers" ); |
|
106 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - create observers" ); |
98 |
107 |
99 // create shutdown observer |
108 // create shutdown observer |
100 if(iMDSShutdownObserver) |
109 if(iMDSShutdownObserver) |
101 { |
110 { |
102 delete iMDSShutdownObserver; |
111 delete iMDSShutdownObserver; |
132 |
142 |
133 iMdESession = CMdESession::NewL( *this ); |
143 iMdESession = CMdESession::NewL( *this ); |
134 iSessionError = EFalse; |
144 iSessionError = EFalse; |
135 |
145 |
136 TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - end" ); |
146 TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - end" ); |
|
147 OstTrace0( TRACE_FATAL, DUP3_CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - end" ); |
137 } |
148 } |
138 |
149 |
139 // --------------------------------------------------------------------------- |
150 // --------------------------------------------------------------------------- |
140 // ~CThumbAGImageObserver |
151 // ~CThumbAGImageObserver |
141 // --------------------------------------------------------------------------- |
152 // --------------------------------------------------------------------------- |
142 // |
153 // |
143 CThumbAGImageObserver::~CThumbAGImageObserver() |
154 CThumbAGImageObserver::~CThumbAGImageObserver() |
144 { |
155 { |
145 TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - begin" ); |
156 TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - begin" ); |
|
157 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_CTHUMBAGIMAGEOBSERVER, "CThumbAGImageObserver::~CThumbAGImageObserver - begin" ); |
146 |
158 |
147 iShutdown = ETrue; |
159 iShutdown = ETrue; |
148 |
160 |
149 delete iMDSShutdownObserver; |
161 delete iMDSShutdownObserver; |
150 iMDSShutdownObserver = NULL; |
162 iMDSShutdownObserver = NULL; |
168 delete iMdESession; |
180 delete iMdESession; |
169 iMdESession = NULL; |
181 iMdESession = NULL; |
170 } |
182 } |
171 |
183 |
172 TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - end" ); |
184 TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - end" ); |
|
185 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_CTHUMBAGIMAGEOBSERVER, "CThumbAGImageObserver::~CThumbAGImageObserver - end" ); |
173 } |
186 } |
174 |
187 |
175 // ----------------------------------------------------------------------------- |
188 // ----------------------------------------------------------------------------- |
176 // CThumbAGImageObserver::HandleSessionOpened |
189 // CThumbAGImageObserver::HandleSessionOpened |
177 // ----------------------------------------------------------------------------- |
190 // ----------------------------------------------------------------------------- |
178 // |
191 // |
179 void CThumbAGImageObserver::HandleSessionOpened( CMdESession& /* aSession */, TInt aError ) |
192 void CThumbAGImageObserver::HandleSessionOpened( CMdESession& /* aSession */, TInt aError ) |
180 { |
193 { |
181 TN_DEBUG1( "CThumbAGImageObserver::HandleSessionOpened"); |
194 TN_DEBUG1( "CThumbAGImageObserver::HandleSessionOpened"); |
|
195 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_HANDLESESSIONOPENED, "CThumbAGImageObserver::HandleSessionOpened" ); |
182 |
196 |
183 if (aError == KErrNone) |
197 if (aError == KErrNone) |
184 { |
198 { |
185 TRAPD( err, AddObserversL() ); |
199 TRAPD( err, AddObserversL() ); |
186 if (err != KErrNone) |
200 if (err != KErrNone) |
187 { |
201 { |
188 TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened, AddObserversL error == %d", err ); |
202 TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened, AddObserversL error == %d", err ); |
|
203 OstTrace1( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_HANDLESESSIONOPENED, "CThumbAGImageObserver::HandleSessionOpened, AddObserversL error;err=%d", err ); |
189 } |
204 } |
190 } |
205 } |
191 else |
206 else |
192 { |
207 { |
193 TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened error == %d", aError ); |
208 TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened error == %d", aError ); |
|
209 OstTrace1( TRACE_FATAL, DUP2_CTHUMBAGIMAGEOBSERVER_HANDLESESSIONOPENED, "CThumbAGImageObserver::HandleSessionOpened;aError=%d", aError ); |
194 } |
210 } |
195 } |
211 } |
196 |
212 |
197 // ----------------------------------------------------------------------------- |
213 // ----------------------------------------------------------------------------- |
198 // CThumbAGImageObserver::HandleSessionError |
214 // CThumbAGImageObserver::HandleSessionError |
199 // ----------------------------------------------------------------------------- |
215 // ----------------------------------------------------------------------------- |
200 // |
216 // |
201 void CThumbAGImageObserver::HandleSessionError( CMdESession& /*aSession*/, TInt aError ) |
217 void CThumbAGImageObserver::HandleSessionError( CMdESession& /*aSession*/, TInt aError ) |
202 { |
218 { |
203 TN_DEBUG2( "CThumbAGImageObserver::HandleSessionError == %d", aError ); |
219 TN_DEBUG2( "CThumbAGImageObserver::HandleSessionError == %d", aError ); |
|
220 OstTrace1( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_HANDLESESSIONERROR, "CThumbAGImageObserver::HandleSessionError;aError=%d", aError ); |
204 if (aError != KErrNone && !iSessionError) |
221 if (aError != KErrNone && !iSessionError) |
205 { |
222 { |
206 iSessionError = ETrue; |
223 iSessionError = ETrue; |
207 |
224 |
208 if (!iShutdown) |
225 if (!iShutdown) |
237 |
256 |
238 #ifdef _DEBUG |
257 #ifdef _DEBUG |
239 if (aType == ENotifyAdd) |
258 if (aType == ENotifyAdd) |
240 { |
259 { |
241 TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyAdd %d", aObjectIdArray.Count() ); |
260 TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyAdd %d", aObjectIdArray.Count() ); |
|
261 OstTrace1( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - ENotifyAdd;aObjectIdArray.Count()=%d", aObjectIdArray.Count() ); |
242 iAddCounter = aObjectIdArray.Count(); |
262 iAddCounter = aObjectIdArray.Count(); |
243 } |
263 } |
244 else if (aType == ENotifyModify) |
264 else if (aType == ENotifyModify) |
245 { |
265 { |
246 TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyModify %d", aObjectIdArray.Count() ); |
266 TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyModify %d", aObjectIdArray.Count() ); |
|
267 OstTrace1( TRACE_FATAL, DUP2_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - ENotifyModify;aObjectIdArray.Count()=%d", aObjectIdArray.Count() ); |
247 iModCounter = aObjectIdArray.Count(); |
268 iModCounter = aObjectIdArray.Count(); |
248 } |
269 } |
249 #endif |
270 #endif |
250 |
271 |
251 if ( (aType == ENotifyAdd || aType == ENotifyModify) && aObjectIdArray.Count() > 0 ) |
272 if ( (aType == ENotifyAdd || aType == ENotifyModify) && aObjectIdArray.Count() > 0 ) |
252 { |
273 { |
253 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - AddToQueueL" ); |
274 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - AddToQueueL" ); |
|
275 OstTrace0( TRACE_FATAL, DUP3_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - AddToQueueL" ); |
254 |
276 |
255 // Add event to processing queue by type and enable force run |
277 // Add event to processing queue by type and enable force run |
256 RPointerArray<HBufC> dummyArray; |
278 RPointerArray<HBufC> dummyArray; |
257 TRAPD(err, iProcessor->AddToQueueL(aType, EGenerationItemTypeImage, aObjectIdArray, dummyArray, EFalse)); |
279 TRAPD(err, iProcessor->AddToQueueL(aType, EGenerationItemTypeImage, aObjectIdArray, dummyArray, EFalse)); |
258 if (err != KErrNone) |
280 if (err != KErrNone) |
259 { |
281 { |
260 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - error adding to queue" ); |
282 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - error adding to queue" ); |
|
283 OstTrace0( TRACE_FATAL, DUP4_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - error adding to queue" ); |
261 } |
284 } |
262 } |
285 } |
263 else |
286 else |
264 { |
287 { |
265 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - bad notification" ); |
288 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - bad notification" ); |
|
289 OstTrace0( TRACE_FATAL, DUP5_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - bad notification" ); |
266 } |
290 } |
267 |
291 |
268 #ifdef _DEBUG |
292 #ifdef _DEBUG |
269 TN_DEBUG3( "CThumbAGImageObserver::IN-COUNTERS---------- Add = %d Modify = %d", iAddCounter, iModCounter ); |
293 TN_DEBUG3( "CThumbAGImageObserver::IN-COUNTERS---------- Add = %d Modify = %d", iAddCounter, iModCounter ); |
|
294 OstTraceExt2( TRACE_FATAL, DUP6_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HIN-COUNTERS---------- Add, Modify;iAddCounter=%u;iModCounter=%u", iAddCounter, iModCounter ); |
270 iModCounter = 0; |
295 iModCounter = 0; |
271 iAddCounter = 0; |
296 iAddCounter = 0; |
272 |
297 |
273 #endif |
298 #endif |
274 |
299 |
275 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - end" ); |
300 TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - end" ); |
|
301 OstTrace0( TRACE_FATAL, DUP7_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - end" ); |
276 } |
302 } |
277 |
303 |
278 // --------------------------------------------------------------------------- |
304 // --------------------------------------------------------------------------- |
279 // CThumbAGImageObserver::AddObserversL |
305 // CThumbAGImageObserver::AddObserversL |
280 // --------------------------------------------------------------------------- |
306 // --------------------------------------------------------------------------- |
281 // |
307 // |
282 void CThumbAGImageObserver::AddObserversL() |
308 void CThumbAGImageObserver::AddObserversL() |
283 { |
309 { |
284 TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - begin" ); |
310 TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - begin" ); |
|
311 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_ADDOBSERVERSL, "CThumbAGImageObserver::AddObserversL - begin" ); |
285 |
312 |
286 CMdENamespaceDef& defaultNamespace = iMdESession->GetDefaultNamespaceDefL(); |
313 CMdENamespaceDef& defaultNamespace = iMdESession->GetDefaultNamespaceDefL(); |
287 CMdEObjectDef& objectDef = defaultNamespace.GetObjectDefL( MdeConstants::Object::KBaseObject ); |
314 CMdEObjectDef& objectDef = defaultNamespace.GetObjectDefL( MdeConstants::Object::KBaseObject ); |
288 CMdEPropertyDef& originPropDef = objectDef.GetPropertyDefL( MdeConstants::Object::KOriginProperty ); |
315 CMdEPropertyDef& originPropDef = objectDef.GetPropertyDefL( MdeConstants::Object::KOriginProperty ); |
289 CMdEObjectDef& imageDef = defaultNamespace.GetObjectDefL( MdeConstants::Image::KImageObject ); |
316 CMdEObjectDef& imageDef = defaultNamespace.GetObjectDefL( MdeConstants::Image::KImageObject ); |
311 iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); |
338 iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); |
312 |
339 |
313 CleanupStack::Pop( 6, addCondition ); |
340 CleanupStack::Pop( 6, addCondition ); |
314 |
341 |
315 TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" ); |
342 TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" ); |
|
343 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_ADDOBSERVERSL, "CThumbAGImageObserver::AddObserversL - end" ); |
316 } |
344 } |
317 |
345 |
318 |
346 |
319 // ----------------------------------------------------------------------------- |
347 // ----------------------------------------------------------------------------- |
320 // CThumbAGCameraObserver::ShutdownNotification |
348 // CThumbAGCameraObserver::ShutdownNotification |
321 // ----------------------------------------------------------------------------- |
349 // ----------------------------------------------------------------------------- |
322 // |
350 // |
323 void CThumbAGImageObserver::ShutdownNotification() |
351 void CThumbAGImageObserver::ShutdownNotification() |
324 { |
352 { |
325 TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification()" ); |
353 TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification()" ); |
|
354 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_SHUTDOWNNOTIFICATION, "CThumbAGImageObserver::ShutdownNotification" ); |
326 |
355 |
327 if (!iShutdown) |
356 if (!iShutdown) |
328 { |
357 { |
329 TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification() shutdown" ); |
358 TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification() shutdown" ); |
|
359 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_SHUTDOWNNOTIFICATION, "CThumbAGImageObserver::ShutdownNotification - shutdown" ); |
330 iShutdown = ETrue; |
360 iShutdown = ETrue; |
331 } |
361 } |
332 } |
362 } |
333 |
363 |
334 // --------------------------------------------------------------------------- |
364 // --------------------------------------------------------------------------- |
336 // --------------------------------------------------------------------------- |
366 // --------------------------------------------------------------------------- |
337 // |
367 // |
338 TInt CThumbAGImageObserver::ReconnectCallBack(TAny* aAny) |
368 TInt CThumbAGImageObserver::ReconnectCallBack(TAny* aAny) |
339 { |
369 { |
340 TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - reinitialize"); |
370 TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - reinitialize"); |
|
371 OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_RECONNECTCALLBACK, "CThumbAGImageObserver::ReconnectCallBack - reinitialize" ); |
341 |
372 |
342 CThumbAGImageObserver* self = static_cast<CThumbAGImageObserver*>( aAny ); |
373 CThumbAGImageObserver* self = static_cast<CThumbAGImageObserver*>( aAny ); |
343 |
374 |
344 self->iReconnect->Cancel(); |
375 self->iReconnect->Cancel(); |
345 |
376 |
346 // reconnect to MDS |
377 // reconnect to MDS |
347 TRAP_IGNORE( self->InitializeL() ); |
378 TRAP_IGNORE( self->InitializeL() ); |
348 |
379 |
349 TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - done"); |
380 TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - done"); |
|
381 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_RECONNECTCALLBACK, "CThumbAGImageObserver::ReconnectCallBack - done" ); |
350 |
382 |
351 return KErrNone; |
383 return KErrNone; |
352 } |
384 } |
353 |
385 |
354 |
386 |