89 { |
96 { |
90 delete iConfig; |
97 delete iConfig; |
91 } |
98 } |
92 |
99 |
93 iTimer.Close(); |
100 iTimer.Close(); |
94 __FLOG_VA((_L8("~CMTPDataProvider - Exit, data provider %d "), iId)); |
101 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_CMTPDATAPROVIDER_DES, |
95 __FLOG_CLOSE; |
102 "data provider %d ", iId); |
|
103 OstTraceFunctionExit0( CMTPDATAPROVIDER_CMTPDATAPROVIDER_EXIT ); |
96 } |
104 } |
97 |
105 |
98 void CMTPDataProvider::ExecuteEventL(const TMTPTypeEvent& aEvent, MMTPConnection& aConnection) |
106 void CMTPDataProvider::ExecuteEventL(const TMTPTypeEvent& aEvent, MMTPConnection& aConnection) |
99 { |
107 { |
100 __FLOG_VA((_L8("ExecuteEventL - Entry, data provider %d "), iId)); |
108 OstTraceFunctionEntry0( CMTPDATAPROVIDER_EXECUTEEVENTL_ENTRY ); |
|
109 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_EXECUTEEVENTL, |
|
110 "data provider %d ", iId); |
101 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
111 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
102 |
112 |
103 if (iTimerActive && aEvent.Uint16(TMTPTypeEvent::EEventCode) == EMTPEventCodeCancelTransaction) |
113 if (iTimerActive && aEvent.Uint16(TMTPTypeEvent::EEventCode) == EMTPEventCodeCancelTransaction) |
104 { |
114 { |
105 Cancel(); |
115 Cancel(); |
106 } |
116 } |
107 |
117 |
108 // Pass this event notification directly to the plugin... |
118 // Pass this event notification directly to the plugin... |
109 // In reality we will only ever see one event canceltransaction. |
119 // In reality we will only ever see one event canceltransaction. |
110 iImplementation->ProcessEventL(aEvent, aConnection); |
120 iImplementation->ProcessEventL(aEvent, aConnection); |
111 __FLOG_VA((_L8("ExecuteEventL - Exit, data provider %d "), iId)); |
121 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_EXECUTEEVENTL, |
|
122 "data provider %d ", iId); |
|
123 OstTraceFunctionExit0( CMTPDATAPROVIDER_EXECUTEEVENTL_EXIT ); |
112 } |
124 } |
113 |
125 |
114 void CMTPDataProvider::ExecuteRequestL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
126 void CMTPDataProvider::ExecuteRequestL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
115 { |
127 { |
116 __FLOG_VA((_L8("ExecuteRequestL - Entry, data provider %d "), iId)); |
128 OstTraceFunctionEntry0( CMTPDATAPROVIDER_EXECUTEREQUESTL_ENTRY ); |
|
129 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_EXECUTEREQUESTL, |
|
130 "data provider %d ", iId); |
117 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
131 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
118 |
132 |
119 iCurrentRequest = &aRequest; |
133 iCurrentRequest = &aRequest; |
120 iCurrentConnection = &iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId()); |
134 iCurrentConnection = &iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId()); |
121 // Schedule data provider to process this request. |
135 // Schedule data provider to process this request. |
122 Schedule(); |
136 Schedule(); |
123 |
137 |
124 __FLOG_VA((_L8("ExecuteRequestL - Exit, data provider %d "), iId)); |
138 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_EXECUTEREQUESTL, |
|
139 "data provider %d ", iId); |
|
140 OstTraceFunctionExit0( CMTPDATAPROVIDER_EXECUTEREQUESTL_EXIT ); |
125 } |
141 } |
126 |
142 |
127 EXPORT_C void CMTPDataProvider::ExecuteProxyRequestL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection, MMTPTransactionProxy& aProxy) |
143 EXPORT_C void CMTPDataProvider::ExecuteProxyRequestL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection, MMTPTransactionProxy& aProxy) |
128 { |
144 { |
129 __FLOG_VA((_L8("ExecuteProxyRequestL - Entry, data provider %d "), iId)); |
145 OstTraceFunctionEntry0( CMTPDATAPROVIDER_EXECUTEPROXYREQUESTL_ENTRY ); |
|
146 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_EXECUTEPROXYREQUESTL, |
|
147 "data provider %d ", iId); |
130 iProxy = &aProxy; |
148 iProxy = &aProxy; |
131 iCurrentRequest = &aRequest; |
149 iCurrentRequest = &aRequest; |
132 iCurrentConnection = static_cast<CMTPConnection*>(&aConnection); |
150 iCurrentConnection = static_cast<CMTPConnection*>(&aConnection); |
133 Schedule(); |
151 Schedule(); |
134 __FLOG_VA((_L8("ExecuteProxyRequestL - Exit, data provider %d "), iId)); |
152 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_EXECUTEPROXYREQUESTL, |
|
153 "data provider %d ", iId); |
|
154 OstTraceFunctionExit0( CMTPDATAPROVIDER_EXECUTEPROXYREQUESTL_EXIT ); |
135 } |
155 } |
136 |
156 |
137 void CMTPDataProvider::ExecutePendingRequestL() |
157 void CMTPDataProvider::ExecutePendingRequestL() |
138 { |
158 { |
139 __FLOG_VA((_L8("SchedulePendingRequestL - Entry"))); |
159 OstTraceFunctionEntry0( CMTPDATAPROVIDER_EXECUTEPENDINGREQUESTL_ENTRY ); |
140 |
160 |
141 if (iCurrentRequest != NULL && !IsActive()) |
161 if (iCurrentRequest != NULL && !IsActive()) |
142 { |
162 { |
143 Schedule(); |
163 Schedule(); |
144 } |
164 } |
145 |
165 |
146 __FLOG_VA((_L8("SchedulePendingRequestL - Exit"))); |
166 OstTraceFunctionExit0( CMTPDATAPROVIDER_EXECUTEPENDINGREQUESTL_EXIT ); |
147 } |
167 } |
148 |
168 |
149 void CMTPDataProvider::EnumerateObjectsL(TUint32 aStorageId) |
169 void CMTPDataProvider::EnumerateObjectsL(TUint32 aStorageId) |
150 { |
170 { |
151 __FLOG_VA((_L8("EnumerateObjectsL - Entry, data provider %d "), iId)); |
171 OstTraceFunctionEntry0( CMTPDATAPROVIDER_ENUMERATEOBJECTSL_ENTRY ); |
|
172 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_ENUMERATEOBJECTSL, |
|
173 "data provider %d ", iId); |
152 iEnumerationState = ((iEnumerationState & ~EObjectsEnumerationState) | EObjectsEnumerating); |
174 iEnumerationState = ((iEnumerationState & ~EObjectsEnumerationState) | EObjectsEnumerating); |
153 TBool abnormaldown = EFalse; |
175 TBool abnormaldown = EFalse; |
154 iSingletons.FrameworkConfig().GetValueL(CMTPFrameworkConfig::EAbnormalDown, abnormaldown); |
176 iSingletons.FrameworkConfig().GetValueL(CMTPFrameworkConfig::EAbnormalDown, abnormaldown); |
155 iImplementation->StartObjectEnumerationL(aStorageId, abnormaldown); |
177 iImplementation->StartObjectEnumerationL(aStorageId, abnormaldown); |
156 __FLOG_VA((_L8("EnumerateObjectsL - Exit, data provider %d "), iId)); |
178 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_ENUMERATEOBJECTSL, |
|
179 "data provider %d ", iId); |
|
180 OstTraceFunctionExit0( CMTPDATAPROVIDER_ENUMERATEOBJECTSL_EXIT ); |
157 } |
181 } |
158 |
182 |
159 void CMTPDataProvider::EnumerateStoragesL() |
183 void CMTPDataProvider::EnumerateStoragesL() |
160 { |
184 { |
161 __FLOG_VA((_L8("EnumerateStoragesL - Entry, data provider %d "), iId)); |
185 OstTraceFunctionEntry0( CMTPDATAPROVIDER_ENUMERATESTORAGESL_ENTRY ); |
|
186 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_ENUMERATESTORAGESL, |
|
187 "data provider %d ", iId); |
162 iEnumerationState = ((iEnumerationState & ~EStoragesEnumerationState) | EStoragesEnumerating); |
188 iEnumerationState = ((iEnumerationState & ~EStoragesEnumerationState) | EStoragesEnumerating); |
163 iImplementation->StartStorageEnumerationL(); |
189 iImplementation->StartStorageEnumerationL(); |
164 __FLOG_VA((_L8("EnumerateStoragesL - Exit, data provider %d "), iId)); |
190 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_ENUMERATESTORAGESL, |
|
191 "data provider %d ", iId); |
|
192 OstTraceFunctionExit0( CMTPDATAPROVIDER_ENUMERATESTORAGESL_EXIT ); |
165 } |
193 } |
166 |
194 |
167 /** |
195 /** |
168 Provides the data provider's enumeration state. |
196 Provides the data provider's enumeration state. |
169 @return The data provider's enumeration state. |
197 @return The data provider's enumeration state. |
315 CMTPConnection& connection(iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId())); |
349 CMTPConnection& connection(iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId())); |
316 connection.ReceiveDataL(aData, aRequest, iStatus); |
350 connection.ReceiveDataL(aData, aRequest, iStatus); |
317 SetActive(); |
351 SetActive(); |
318 // Async call so wait for object to be activated... |
352 // Async call so wait for object to be activated... |
319 } |
353 } |
320 __FLOG_VA((_L8("ReceiveDataL - Exit, data provider %d "), iId)); |
354 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_RECEIVEDATAL, |
|
355 "data provider %d ", iId); |
|
356 OstTraceFunctionExit0( CMTPDATAPROVIDER_RECEIVEDATAL_EXIT ); |
321 } |
357 } |
322 |
358 |
323 void CMTPDataProvider::SendDataL(const MMTPType& aData, const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
359 void CMTPDataProvider::SendDataL(const MMTPType& aData, const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
324 { |
360 { |
325 __FLOG_VA((_L8("SendDataL - Entry, data provider %d "), iId)); |
361 OstTraceFunctionEntry0( CMTPDATAPROVIDER_SENDDATAL_ENTRY ); |
|
362 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_SENDDATAL, |
|
363 "data provider %d ", iId); |
326 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
364 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
327 __ASSERT_DEBUG(!IsActive(), User::Invariant()); |
365 __ASSERT_DEBUG(!IsActive(), User::Invariant()); |
328 |
366 |
329 if (iProxy) |
367 if (iProxy) |
330 { |
368 { |
341 CMTPConnection& connection(iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId())); |
379 CMTPConnection& connection(iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId())); |
342 connection.SendDataL(aData, aRequest, iStatus); |
380 connection.SendDataL(aData, aRequest, iStatus); |
343 SetActive(); |
381 SetActive(); |
344 // Async call so wait for object to be activated... |
382 // Async call so wait for object to be activated... |
345 } |
383 } |
346 __FLOG_VA((_L8("SendDataL - Exit, data provider %d "), iId)); |
384 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_SENDDATAL, |
|
385 "data provider %d ", iId); |
|
386 OstTraceFunctionExit0( CMTPDATAPROVIDER_SENDDATAL_EXIT ); |
347 } |
387 } |
348 |
388 |
349 void CMTPDataProvider::SendEventL(const TMTPTypeEvent& aEvent, MMTPConnection& aConnection) |
389 void CMTPDataProvider::SendEventL(const TMTPTypeEvent& aEvent, MMTPConnection& aConnection) |
350 { |
390 { |
351 __FLOG_VA((_L8("SendEventL - Entry, data provider %d "), iId)); |
391 OstTraceFunctionEntry0( CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT_MMTPCONNECTION_ENTRY ); |
|
392 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT_MMTPCONNECTION, |
|
393 "data provider %d ", iId); |
352 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
394 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
353 |
395 |
354 CMTPConnection& connection(iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId())); |
396 CMTPConnection& connection(iSingletons.ConnectionMgr().ConnectionL(aConnection.ConnectionId())); |
355 connection.SendEventL(aEvent); |
397 connection.SendEventL(aEvent); |
356 __FLOG_VA((_L8("SendEventL - Exit, data provider %d "), iId)); |
398 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT_MMTPCONNECTION, |
|
399 "data provider %d ", iId); |
|
400 OstTraceFunctionExit0( CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT_MMTPCONNECTION_EXIT ); |
357 } |
401 } |
358 |
402 |
359 void CMTPDataProvider::SendEventL(const TMTPTypeEvent& aEvent) |
403 void CMTPDataProvider::SendEventL(const TMTPTypeEvent& aEvent) |
360 { |
404 { |
361 __FLOG_VA((_L8("SendEventL - Entry, data provider %d "), iId)); |
405 OstTraceFunctionEntry0( CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT_ENTRY ); |
|
406 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT, |
|
407 "data provider %d ", iId); |
362 if (aEvent.Uint32(TMTPTypeEvent::EEventSessionID) != KMTPSessionAll) |
408 if (aEvent.Uint32(TMTPTypeEvent::EEventSessionID) != KMTPSessionAll) |
363 { |
409 { |
|
410 OstTrace0( TRACE_ERROR, CMTPDATAPROVIDER_SENDEVENTL, "event session id not KMTPSessionALL!" ); |
364 User::Leave(KErrArgument); |
411 User::Leave(KErrArgument); |
365 } |
412 } |
366 |
413 |
367 TUint numConnections(iSingletons.ConnectionMgr().ConnectionCount()); |
414 TUint numConnections(iSingletons.ConnectionMgr().ConnectionCount()); |
368 |
415 |
369 for (TUint i(0); (i < numConnections); i++) |
416 for (TUint i(0); (i < numConnections); i++) |
370 { |
417 { |
371 iSingletons.ConnectionMgr()[i].SendEventL(aEvent); |
418 iSingletons.ConnectionMgr()[i].SendEventL(aEvent); |
372 } |
419 } |
373 __FLOG_VA((_L8("SendEventL - Exit, data provider %d "), iId)); |
420 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT, |
|
421 "data provider %d ", iId); |
|
422 OstTraceFunctionExit0( CMTPDATAPROVIDER_SENDEVENTL_TMTPTYPEVENT_EXIT ); |
374 } |
423 } |
375 |
424 |
376 void CMTPDataProvider::SendResponseL(const TMTPTypeResponse& aResponse, const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
425 void CMTPDataProvider::SendResponseL(const TMTPTypeResponse& aResponse, const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
377 { |
426 { |
378 __FLOG_VA((_L8("SendResponseL - Entry, data provider %d "), iId)); |
427 OstTraceFunctionEntry0( CMTPDATAPROVIDER_SENDRESPONSEL_ENTRY ); |
|
428 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_SENDRESPONSEL, |
|
429 "data provider %d ", iId); |
379 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
430 __ASSERT_DEBUG(iImplementation, User::Invariant()); |
380 __ASSERT_DEBUG(!IsActive(), User::Invariant()); |
431 __ASSERT_DEBUG(!IsActive(), User::Invariant()); |
381 |
432 |
382 if (iProxy) |
433 if (iProxy) |
383 { |
434 { |
418 // Clear pointers |
473 // Clear pointers |
419 iProxy = NULL; |
474 iProxy = NULL; |
420 iCurrentRequest = NULL; |
475 iCurrentRequest = NULL; |
421 iCurrentConnection = NULL; |
476 iCurrentConnection = NULL; |
422 |
477 |
423 __FLOG_VA((_L8("TransactionCompleteL - Exit, data provider %d "), iId)); |
478 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_TRANSACTIONCOMPLETEL, |
|
479 "data provider %d ", iId); |
|
480 OstTraceFunctionExit0( CMTPDATAPROVIDER_TRANSACTIONCOMPLETEL_EXIT ); |
424 } |
481 } |
425 |
482 |
426 void CMTPDataProvider::RouteRequestRegisterL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
483 void CMTPDataProvider::RouteRequestRegisterL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
427 { |
484 { |
428 __FLOG_VA((_L8("RouteRequestRegisterL - Entry, data provider %d "), iId)); |
485 OstTraceFunctionEntry0( CMTPDATAPROVIDER_ROUTEREQUESTREGISTERL_ENTRY ); |
|
486 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_ROUTEREQUESTREGISTERL, |
|
487 "data provider %d ", iId); |
429 iSingletons.Router().RouteRequestRegisterL(aRequest, aConnection, iId); |
488 iSingletons.Router().RouteRequestRegisterL(aRequest, aConnection, iId); |
430 __FLOG_VA((_L8("RouteRequestRegisterL - Exit, data provider %d "), iId)); |
489 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_ROUTEREQUESTREGISTERL, |
|
490 "data provider %d ", iId); |
|
491 OstTraceFunctionExit0( CMTPDATAPROVIDER_ROUTEREQUESTREGISTERL_EXIT ); |
431 } |
492 } |
432 |
493 |
433 void CMTPDataProvider::RouteRequestUnregisterL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
494 void CMTPDataProvider::RouteRequestUnregisterL(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) |
434 { |
495 { |
435 __FLOG_VA((_L8("RouteRequestUnregister - Entry, data provider %d "), iId)); |
496 OstTraceFunctionEntry0( CMTPDATAPROVIDER_ROUTEREQUESTUNREGISTERL_ENTRY ); |
|
497 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_ROUTEREQUESTUNREGISTERL, |
|
498 "data provider %d ", iId); |
436 iSingletons.Router().RouteRequestUnregisterL(aRequest, aConnection); |
499 iSingletons.Router().RouteRequestUnregisterL(aRequest, aConnection); |
437 __FLOG_VA((_L8("RouteRequestUnregister - Exit, data provider %d "), iId)); |
500 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_ROUTEREQUESTUNREGISTERL, |
438 } |
501 "data provider %d ", iId); |
439 |
502 OstTraceFunctionExit0( CMTPDATAPROVIDER_ROUTEREQUESTUNREGISTERL_EXIT ); |
440 #ifdef __FLOG_ACTIVE |
503 } |
|
504 |
|
505 |
441 void CMTPDataProvider::ObjectEnumerationCompleteL(TUint32 aStorageId) |
506 void CMTPDataProvider::ObjectEnumerationCompleteL(TUint32 aStorageId) |
442 #else |
507 { |
443 void CMTPDataProvider::ObjectEnumerationCompleteL(TUint32 /*aStorageId*/) |
508 OstTraceFunctionEntry0( CMTPDATAPROVIDER_OBJECTENUMERATIONCOMPLETEL_ENTRY ); |
444 #endif // __FLOG_ACTIVE |
509 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_OBJECTENUMERATIONCOMPLETEL, |
445 { |
510 "data provider %d ", iId); |
446 __FLOG_VA((_L8("ObjectEnumerationCompleteL - Entry, data provider %d "), iId)); |
511 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_OBJECTENUMERATIONCOMPLETEL, |
447 __FLOG_VA((_L8("StorageId = 0x%08X "), aStorageId)); |
512 "StorageId = 0x%08X ", aStorageId); |
448 iEnumerationState = ((iEnumerationState & ~EObjectsEnumerationState) | EObjectsEnumerated); |
513 iEnumerationState = ((iEnumerationState & ~EObjectsEnumerationState) | EObjectsEnumerated); |
449 iSingletons.DpController().EnumerationStateChangedL(*this); |
514 iSingletons.DpController().EnumerationStateChangedL(*this); |
450 __FLOG_VA((_L8("ObjectEnumerationCompleteL - Exit, data provider %d "), iId)); |
515 OstTrace1(TRACE_NORMAL, DUP2_CMTPDATAPROVIDER_OBJECTENUMERATIONCOMPLETEL, |
|
516 "data provider %d ", iId); |
|
517 OstTraceFunctionExit0( CMTPDATAPROVIDER_OBJECTENUMERATIONCOMPLETEL_EXIT ); |
451 } |
518 } |
452 |
519 |
453 void CMTPDataProvider::StorageEnumerationCompleteL() |
520 void CMTPDataProvider::StorageEnumerationCompleteL() |
454 { |
521 { |
455 __FLOG_VA((_L8("StorageEnumerationCompleteL - Entry, data provider %d "), iId)); |
522 OstTraceFunctionEntry0( CMTPDATAPROVIDER_STORAGEENUMERATIONCOMPLETEL_ENTRY ); |
|
523 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_STORAGEENUMERATIONCOMPLETEL, |
|
524 "data provider %d ", iId); |
456 iEnumerationState = ((iEnumerationState & ~EStoragesEnumerationState) | EStoragesEnumerated); |
525 iEnumerationState = ((iEnumerationState & ~EStoragesEnumerationState) | EStoragesEnumerated); |
457 iSingletons.DpController().EnumerationStateChangedL(*this); |
526 iSingletons.DpController().EnumerationStateChangedL(*this); |
458 __FLOG_VA((_L8("StorageEnumerationCompleteL - Exit, data provider %d "), iId)); |
527 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_STORAGEENUMERATIONCOMPLETEL, |
|
528 "data provider %d ", iId); |
|
529 OstTraceFunctionExit0( CMTPDATAPROVIDER_STORAGEENUMERATIONCOMPLETEL_EXIT ); |
459 } |
530 } |
460 |
531 |
461 const MMTPDataProviderConfig& CMTPDataProvider::DataProviderConfig() const |
532 const MMTPDataProviderConfig& CMTPDataProvider::DataProviderConfig() const |
462 { |
533 { |
463 return *iConfig; |
534 return *iConfig; |
506 TUint deviceDpId = iSingletons.DpController().DeviceDpId(); |
577 TUint deviceDpId = iSingletons.DpController().DeviceDpId(); |
507 iSingletons.DpController().NotifyDataProvidersL( deviceDpId, EMTPObjectAdded, aParams ); |
578 iSingletons.DpController().NotifyDataProvidersL( deviceDpId, EMTPObjectAdded, aParams ); |
508 } |
579 } |
509 break; |
580 break; |
510 default: |
581 default: |
511 __FLOG(_L8("Ignore other notification")); |
582 OstTrace0(TRACE_NORMAL, CMTPDATAPROVIDER_NOTIFYFRAMEWORKL, "Ignore other notification"); |
512 break; |
583 break; |
513 } |
584 } |
514 |
585 |
515 __FLOG(_L8("NotifyFrameworkL - Exit")); |
586 OstTraceFunctionExit0( CMTPDATAPROVIDER_NOTIFYFRAMEWORKL_EXIT ); |
516 } |
587 } |
517 |
588 |
518 void CMTPDataProvider::RegisterPendingRequest(TUint aTimeOut) |
589 void CMTPDataProvider::RegisterPendingRequest(TUint aTimeOut) |
519 { |
590 { |
520 __FLOG(_L8("RegisterPendingRequestL - Entry")); |
591 OstTraceFunctionEntry0( CMTPDATAPROVIDER_REGISTERPENDINGREQUEST_ENTRY ); |
521 |
592 |
522 iSingletons.DpController().RegisterPendingRequestDP(iImplementationUid.iUid, aTimeOut); |
593 iSingletons.DpController().RegisterPendingRequestDP(iImplementationUid.iUid, aTimeOut); |
523 |
594 |
524 __FLOG(_L8("RegisterPendingRequestL - Exit")); |
595 OstTraceFunctionExit0( CMTPDATAPROVIDER_REGISTERPENDINGREQUEST_EXIT ); |
525 } |
596 } |
526 |
597 |
527 void CMTPDataProvider::DoCancel() |
598 void CMTPDataProvider::DoCancel() |
528 { |
599 { |
529 __FLOG_VA((_L8("DoCancel - Entry, data provider %d "), iId)); |
600 OstTraceFunctionEntry0( CMTPDATAPROVIDER_DOCANCEL_ENTRY ); |
530 __FLOG_VA((_L8("DoCancel - Exit, data provider %d "), iId)); |
601 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_DOCANCEL, |
|
602 "data provider %d ", iId); |
531 |
603 |
532 if (iTimerActive) |
604 if (iTimerActive) |
533 { |
605 { |
534 iTimer.Cancel(); |
606 iTimer.Cancel(); |
535 iTimerActive = EFalse; |
607 iTimerActive = EFalse; |
698 } |
780 } |
699 } |
781 } |
700 |
782 |
701 } |
783 } |
702 |
784 |
703 __MTP_HEAP_FLOG |
785 #ifdef OST_TRACE_COMPILER_IN_USE |
704 __FLOG_VA((_L8("RunL - Exit, data provider %d "), iId)); |
786 __MTP_HEAP_OSTTRACE(OstTraceExt4(TRACE_NORMAL,DUP7_CMTPSERVER_E32MAIN_HEAP,"Heap: Size = %d, Allocated = %d, Available = %d, Largest block = %d", size, allocated, available, largest)); |
|
787 #endif |
|
788 OstTrace1(TRACE_NORMAL, DUP5_CMTPDATAPROVIDER_RUNL, |
|
789 "data provider %d ", iId); |
|
790 OstTraceFunctionExit0( CMTPDATAPROVIDER_RUNL_EXIT ); |
705 } |
791 } |
706 |
792 |
707 TInt CMTPDataProvider::RunError(TInt aError) |
793 TInt CMTPDataProvider::RunError(TInt aError) |
708 { |
794 { |
709 __FLOG_VA((_L8("RunError - Entry, data provider %d "), iId)); |
795 OstTraceFunctionEntry0( CMTPDATAPROVIDER_RUNERROR_ENTRY ); |
710 __FLOG_VA((_L8("Error = %d"), aError)); |
796 OstTraceDef1(OST_TRACE_CATEGORY_PRODUCTION, TRACE_IMPORTANT, CMTPDATAPROVIDER_RUNERROR, |
|
797 "data provider %d ", iId); |
|
798 OstTraceDef1(OST_TRACE_CATEGORY_PRODUCTION, TRACE_IMPORTANT, DUP1_CMTPDATAPROVIDER_RUNERROR, "Error = %d", aError); |
711 |
799 |
712 /* |
800 /* |
713 CMTPDataProvider or iImplementation error, save the error state and |
801 CMTPDataProvider or iImplementation error, save the error state and |
714 re-schedule. |
802 re-schedule. |
715 */ |
803 */ |
716 iErrorRecovery = aError; |
804 iErrorRecovery = aError; |
717 Schedule(); |
805 Schedule(); |
718 |
806 |
719 __FLOG_VA((_L8("RunError - Exit, data provider %d "), iId)); |
807 OstTrace1(TRACE_NORMAL, DUP2_CMTPDATAPROVIDER_RUNERROR, |
|
808 "data provider %d ", iId); |
|
809 OstTraceFunctionExit0( CMTPDATAPROVIDER_RUNERROR_EXIT ); |
720 return KErrNone; |
810 return KErrNone; |
721 } |
811 } |
722 |
812 |
723 /** |
813 /** |
724 Constructor. |
814 Constructor. |
776 { |
868 { |
777 CSupportedCodes* codes = CSupportedCodes::NewLC(static_cast<TMTPSupportCategory>(i), Plugin()); |
869 CSupportedCodes* codes = CSupportedCodes::NewLC(static_cast<TMTPSupportCategory>(i), Plugin()); |
778 |
870 |
779 if((i >= KExcludeCategoryStart) && (i <= KExcludeCategoryEnd) && (codes->Codes().Count() >0)) |
871 if((i >= KExcludeCategoryStart) && (i <= KExcludeCategoryEnd) && (codes->Codes().Count() >0)) |
780 { |
872 { |
|
873 OstTrace1( TRACE_ERROR, DUP4_CMTPDATAPROVIDER_CONSTRUCTL, "Dp MTP feature(%d) contained in exclude category!", i ); |
781 User::Leave(KErrNotSupported); |
874 User::Leave(KErrNotSupported); |
782 } |
875 } |
783 iSupported.AppendL(codes); |
876 iSupported.AppendL(codes); |
784 CleanupStack::Pop(codes); |
877 CleanupStack::Pop(codes); |
785 } |
878 } |
786 |
879 |
787 User::LeaveIfError(iTimer.CreateLocal()); |
880 LEAVEIFERROR(iTimer.CreateLocal(), |
788 |
881 OstTrace0( TRACE_ERROR, DUP5_CMTPDATAPROVIDER_CONSTRUCTL, "thread-relative timer create error!" )); |
|
882 |
789 // Only assume ownership of passed objects on successful construction. |
883 // Only assume ownership of passed objects on successful construction. |
790 iConstructed = ETrue; |
884 iConstructed = ETrue; |
791 |
885 |
792 __FLOG_VA((_L8("Data provider %d iImplementationUid 0x08%X "), iId, iImplementationUid)); |
886 OstTraceExt2(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_CONSTRUCTL, |
793 __FLOG_VA((_L8("ConstructL - Exit, data provider %d "), iId)); |
887 "Data provider %d iImplementationUid 0x%X ", iId, iImplementationUid.iUid); |
794 } |
888 } |
795 |
889 |
|
890 OstTrace1(TRACE_NORMAL, DUP2_CMTPDATAPROVIDER_CONSTRUCTL, |
|
891 "data provider %d ", iId); |
|
892 OstTraceFunctionExit0( CMTPDATAPROVIDER_CONSTRUCTL_EXIT ); |
796 } |
893 } |
797 |
894 |
798 /** |
895 /** |
799 Schedules the next request phase or event. |
896 Schedules the next request phase or event. |
800 */ |
897 */ |
801 void CMTPDataProvider::Schedule() |
898 void CMTPDataProvider::Schedule() |
802 { |
899 { |
803 __FLOG_VA((_L8("Schedule - Entry, data provider %d "), iId)); |
900 OstTraceFunctionEntry0( CMTPDATAPROVIDER_SCHEDULE_ENTRY ); |
|
901 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_SCHEDULE, |
|
902 "data provider %d ", iId); |
804 iStatus = KRequestPending; |
903 iStatus = KRequestPending; |
805 TRequestStatus* status = &iStatus; |
904 TRequestStatus* status = &iStatus; |
806 SetActive(); |
905 SetActive(); |
807 User::RequestComplete(status, KErrNone); |
906 User::RequestComplete(status, KErrNone); |
808 __FLOG_VA((_L8("Schedule - Exit, data provider %d "), iId)); |
907 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_SCHEDULE, |
|
908 "data provider %d ", iId); |
|
909 OstTraceFunctionExit0( CMTPDATAPROVIDER_SCHEDULE_EXIT ); |
809 } |
910 } |
810 |
911 |
811 /** |
912 /** |
812 Formats and sends an MTP response dataset from the specified error code. |
913 Formats and sends an MTP response dataset from the specified error code. |
813 @param aError The error code. |
914 @param aError The error code. |
814 @leave One of the system wide error codes, if a processing error occurs. |
915 @leave One of the system wide error codes, if a processing error occurs. |
815 */ |
916 */ |
816 void CMTPDataProvider::SendErrorResponseL(TInt aError) |
917 void CMTPDataProvider::SendErrorResponseL(TInt aError) |
817 { |
918 { |
818 __FLOG_VA((_L8("SendResponseL - Entry, data provider %d "), iId)); |
919 OstTraceFunctionEntry0( CMTPDATAPROVIDER_SENDERRORRESPONSEL_ENTRY ); |
|
920 OstTrace1(TRACE_NORMAL, CMTPDATAPROVIDER_SENDERRORRESPONSEL, |
|
921 "data provider %d ", iId); |
|
922 |
819 __ASSERT_DEBUG(iCurrentRequest != NULL, User::Invariant()); |
923 __ASSERT_DEBUG(iCurrentRequest != NULL, User::Invariant()); |
820 |
924 |
821 TMTPResponseCode code; |
925 TMTPResponseCode code; |
822 switch (aError) |
926 switch (aError) |
823 { |
927 { |
831 default: |
935 default: |
832 code = EMTPRespCodeGeneralError; |
936 code = EMTPRespCodeGeneralError; |
833 break; |
937 break; |
834 } |
938 } |
835 |
939 |
836 __FLOG_VA((_L8("Sending response code 0x%04X"), code)); |
940 OstTrace1(TRACE_NORMAL, DUP2_CMTPDATAPROVIDER_SENDERRORRESPONSEL, |
|
941 "Sending response code 0x%04X", code); |
837 iResponse.SetUint16(TMTPTypeResponse::EResponseCode, code); |
942 iResponse.SetUint16(TMTPTypeResponse::EResponseCode, code); |
838 iResponse.SetUint32(TMTPTypeResponse::EResponseSessionID, iCurrentRequest->Uint32(TMTPTypeResponse::EResponseSessionID)); |
943 iResponse.SetUint32(TMTPTypeResponse::EResponseSessionID, iCurrentRequest->Uint32(TMTPTypeResponse::EResponseSessionID)); |
839 iResponse.SetUint32(TMTPTypeResponse::EResponseTransactionID, iCurrentRequest->Uint32(TMTPTypeResponse::EResponseTransactionID)); |
944 iResponse.SetUint32(TMTPTypeResponse::EResponseTransactionID, iCurrentRequest->Uint32(TMTPTypeResponse::EResponseTransactionID)); |
840 SendResponseL(iResponse, *iCurrentRequest, *iCurrentConnection); |
945 SendResponseL(iResponse, *iCurrentRequest, *iCurrentConnection); |
841 |
946 |
842 __FLOG_VA((_L8("SendResponseL - Exit, data provider %d "), iId)); |
947 OstTrace1(TRACE_NORMAL, DUP1_CMTPDATAPROVIDER_SENDERRORRESPONSEL, |
|
948 "data provider %d ", iId); |
|
949 OstTraceFunctionExit0( CMTPDATAPROVIDER_SENDERRORRESPONSEL_EXIT ); |
843 } |
950 } |
844 |
951 |
845 CMTPDataProvider::CSupportedCodes* CMTPDataProvider::CSupportedCodes::NewLC(TMTPSupportCategory aCategory, MMTPDataProvider& aDp) |
952 CMTPDataProvider::CSupportedCodes* CMTPDataProvider::CSupportedCodes::NewLC(TMTPSupportCategory aCategory, MMTPDataProvider& aDp) |
846 { |
953 { |
847 CSupportedCodes* self = new(ELeave) CSupportedCodes(); |
954 CSupportedCodes* self = new(ELeave) CSupportedCodes(); |