46 |
46 |
47 enum TMMFDevSoundSessionPanicCodes |
47 enum TMMFDevSoundSessionPanicCodes |
48 { |
48 { |
49 EMsgQueueFailedToSendMsg =1, |
49 EMsgQueueFailedToSendMsg =1, |
50 EQueueRequestsFailedToAppend, |
50 EQueueRequestsFailedToAppend, |
51 EUnexpectedAsyncOpCompleteHandlingCI |
51 EUnexpectedAsyncOpCompleteHandlingCI, |
|
52 ERequestBeingServicedMismatch |
52 }; |
53 }; |
53 |
54 |
54 // CLASS DECLARATION |
55 // CLASS DECLARATION |
55 |
56 |
56 /* |
57 /* |
205 @return ETrue if the request is serviced completely else EFalse. |
206 @return ETrue if the request is serviced completely else EFalse. |
206 */ |
207 */ |
207 TBool DoInitialize1L(const RMmfIpcMessage& aMessage); |
208 TBool DoInitialize1L(const RMmfIpcMessage& aMessage); |
208 |
209 |
209 /** |
210 /** |
|
211 Method to service Initialize1L request that has already completed, but |
|
212 not finished due to a pre-emption clash during its commit cycle(s). |
|
213 Leaves on failure. |
|
214 @return void |
|
215 */ |
|
216 void DoAlreadyCompletedInitialize1L(); |
|
217 |
|
218 /** |
210 Method to service Initialize2L request. |
219 Method to service Initialize2L request. |
211 Leaves on failure. |
220 Leaves on failure. |
212 @since |
221 @since |
213 @param const RMmfIpcMessage& aMessage A reference to message object |
222 @param const RMmfIpcMessage& aMessage A reference to message object |
214 containing request attributes. |
223 containing request attributes. |
215 @return ETrue if the request is serviced completely else EFalse. |
224 @return ETrue if the request is serviced completely else EFalse. |
216 */ |
225 */ |
217 TBool DoInitialize2L(const RMmfIpcMessage& aMessage); |
226 TBool DoInitialize2L(const RMmfIpcMessage& aMessage); |
218 |
227 |
219 /** |
228 /** |
|
229 Method to service Initialize2L request that has already completed, but |
|
230 not finished due to a pre-emption clash during its commit cycle(s). |
|
231 Leaves on failure. |
|
232 @return void |
|
233 */ |
|
234 void DoAlreadyCompletedInitialize2L(); |
|
235 |
|
236 /** |
220 Method to service Initialize3L request. |
237 Method to service Initialize3L request. |
221 Leaves on failure. |
238 Leaves on failure. |
222 @param const RMmfIpcMessage& aMessage A reference to message object |
239 @param const RMmfIpcMessage& aMessage A reference to message object |
223 containing request attributes. |
240 containing request attributes. |
224 @return ETrue if the request is serviced completely else EFalse. |
241 @return ETrue if the request is serviced completely else EFalse. |
232 containing request attributes. |
249 containing request attributes. |
233 @return ETrue if the request is serviced completely else EFalse. |
250 @return ETrue if the request is serviced completely else EFalse. |
234 */ |
251 */ |
235 TBool DoInitialize4L(const RMmfIpcMessage& aMessage); |
252 TBool DoInitialize4L(const RMmfIpcMessage& aMessage); |
236 |
253 |
|
254 /** |
|
255 Method to service Initialize4L request that has already completed, but |
|
256 not finished due to a pre-emption clash during its commit cycle(s). |
|
257 Leaves on failure. |
|
258 @return void |
|
259 */ |
|
260 void DoAlreadyCompletedInitialize4L(); |
|
261 |
237 /** |
262 /** |
238 Method to service CancelInitialize request. |
263 Method to service CancelInitialize request. |
239 Leaves on failure. |
264 Leaves on failure. |
240 @since |
265 @since |
241 @param const RMmfIpcMessage& aMessage A reference to message object |
266 @param const RMmfIpcMessage& aMessage A reference to message object |
386 @return ETrue if the request is serviced completely else EFalse. |
411 @return ETrue if the request is serviced completely else EFalse. |
387 */ |
412 */ |
388 TBool DoPlayInitL(const RMmfIpcMessage& aMessage); |
413 TBool DoPlayInitL(const RMmfIpcMessage& aMessage); |
389 |
414 |
390 /** |
415 /** |
|
416 Method to service initialize DevSound to play request that has already completed, |
|
417 but not finished due to a pre-emption clash during its commit cycle(s). |
|
418 Leaves on failure. |
|
419 @return void |
|
420 */ |
|
421 void DoAlreadyCompletedPlayInitL(); |
|
422 |
|
423 /** |
391 Method to service initialize DevSound to record request. |
424 Method to service initialize DevSound to record request. |
392 Leaves on failure. |
425 Leaves on failure. |
393 @since |
426 @since |
394 @param const RMmfIpcMessage& aMessage A reference to message object |
427 @param const RMmfIpcMessage& aMessage A reference to message object |
395 containing request attributes. |
428 containing request attributes. |
396 @return ETrue if the request is serviced completely else EFalse. |
429 @return ETrue if the request is serviced completely else EFalse. |
397 */ |
430 */ |
398 TBool DoRecordInitL(const RMmfIpcMessage& aMessage); |
431 TBool DoRecordInitL(const RMmfIpcMessage& aMessage); |
|
432 |
|
433 /** |
|
434 Method to service initialize DevSound to record request that has already completed, |
|
435 but not finished due to a pre-emption clash during its commit cycle(s). |
|
436 Leaves on failure. |
|
437 @return void |
|
438 */ |
|
439 void DoAlreadyCompletedRecordInitL(); |
399 |
440 |
400 /** |
441 /** |
401 Method to service signal DevSound to playing current buffer request. |
442 Method to service signal DevSound to playing current buffer request. |
402 Leaves on failure. |
443 Leaves on failure. |
403 @since |
444 @since |
448 @return ETrue if the request is serviced completely else EFalse. |
489 @return ETrue if the request is serviced completely else EFalse. |
449 */ |
490 */ |
450 TBool DoPlayToneL(const RMmfIpcMessage& aMessage); |
491 TBool DoPlayToneL(const RMmfIpcMessage& aMessage); |
451 |
492 |
452 /** |
493 /** |
|
494 Method to service signal DevSound to play simple tone operation |
|
495 request that has already completed, but not finished due to a |
|
496 pre-emption clash during its commit cycle(s). |
|
497 Leaves on failure. |
|
498 @return void |
|
499 */ |
|
500 void DoAlreadyCompletedPlayToneL(); |
|
501 |
|
502 /** |
453 Method to service signal DevSound to play dual tone operation |
503 Method to service signal DevSound to play dual tone operation |
454 request. |
504 request. |
455 Leaves on failure. |
505 Leaves on failure. |
456 @since |
506 @since |
457 @param const RMmfIpcMessage& aMessage A reference to message object |
507 @param const RMmfIpcMessage& aMessage A reference to message object |
459 @return ETrue if the request is serviced completely else EFalse. |
509 @return ETrue if the request is serviced completely else EFalse. |
460 */ |
510 */ |
461 TBool DoPlayDualToneL(const RMmfIpcMessage& aMessage); |
511 TBool DoPlayDualToneL(const RMmfIpcMessage& aMessage); |
462 |
512 |
463 /** |
513 /** |
|
514 Method to service signal DevSound to play dual tone operation |
|
515 request that has already completed, but not finished due to a |
|
516 pre-emption clash during its commit cycle(s). |
|
517 Leaves on failure. |
|
518 @return void |
|
519 */ |
|
520 void DoAlreadyCompletedPlayDualToneL(); |
|
521 |
|
522 /** |
464 Method to service signal DevSound to play DTMFString operation |
523 Method to service signal DevSound to play DTMFString operation |
465 request. |
524 request. |
466 Leaves on failure. |
525 Leaves on failure. |
467 @since |
526 @since |
468 @param const RMmfIpcMessage& aMessage A reference to message object |
527 @param const RMmfIpcMessage& aMessage A reference to message object |
470 @return ETrue if the request is serviced completely else EFalse. |
529 @return ETrue if the request is serviced completely else EFalse. |
471 */ |
530 */ |
472 TBool DoPlayDTMFStringL(const RMmfIpcMessage& aMessage); |
531 TBool DoPlayDTMFStringL(const RMmfIpcMessage& aMessage); |
473 |
532 |
474 /** |
533 /** |
|
534 Method to service signal DevSound to play DTMFString operation |
|
535 request that has already completed, but not finished due to a |
|
536 pre-emption clash during its commit cycle(s). |
|
537 Leaves on failure. |
|
538 @return void |
|
539 */ |
|
540 void DoAlreadyCompletedPlayDTMFStringL(); |
|
541 |
|
542 /** |
475 Method to service signal DevSound to play tone sequence operation |
543 Method to service signal DevSound to play tone sequence operation |
476 request. |
544 request. |
477 Leaves on failure. |
545 Leaves on failure. |
478 @since |
546 @since |
479 @param const RMmfIpcMessage& aMessage A reference to message object |
547 @param const RMmfIpcMessage& aMessage A reference to message object |
481 @return ETrue if the request is serviced completely else EFalse. |
549 @return ETrue if the request is serviced completely else EFalse. |
482 */ |
550 */ |
483 TBool DoPlayToneSequenceL(const RMmfIpcMessage& aMessage); |
551 TBool DoPlayToneSequenceL(const RMmfIpcMessage& aMessage); |
484 |
552 |
485 /** |
553 /** |
|
554 Method to service signal DevSound to play tone sequence operation |
|
555 request that has already completed, but not finished due to a |
|
556 pre-emption clash during its commit cycle(s). |
|
557 Leaves on failure. |
|
558 @return void |
|
559 */ |
|
560 void DoAlreadyCompletedPlayToneSequenceL(); |
|
561 |
|
562 /** |
486 Method to service signal DevSound to play fixed sequence operation |
563 Method to service signal DevSound to play fixed sequence operation |
487 request. |
564 request. |
488 Leaves on failure. |
565 Leaves on failure. |
489 @since |
566 @since |
490 @param const RMmfIpcMessage& aMessage A reference to message object |
567 @param const RMmfIpcMessage& aMessage A reference to message object |
491 containing request attributes. |
568 containing request attributes. |
492 @return ETrue if the request is serviced completely else EFalse. |
569 @return ETrue if the request is serviced completely else EFalse. |
493 */ |
570 */ |
494 TBool DoPlayFixedSequenceL(const RMmfIpcMessage& aMessage); |
571 TBool DoPlayFixedSequenceL(const RMmfIpcMessage& aMessage); |
|
572 |
|
573 /** |
|
574 Method to service signal DevSound to play fixed sequence operation |
|
575 request that has already completed, but not finished due to a |
|
576 pre-emption clash during its commit cycle(s). |
|
577 Leaves on failure. |
|
578 @return void |
|
579 */ |
|
580 void DoAlreadyCompletedPlayFixedSequenceL(); |
495 |
581 |
496 /** |
582 /** |
497 Method to service signal DevSound to initilize DTMF String operation |
583 Method to service signal DevSound to initilize DTMF String operation |
498 request. |
584 request. |
499 Leaves on failure. |
585 Leaves on failure. |
1311 */ |
1397 */ |
1312 void PreemptionFinishedCallbackReceived(TBool aCanStartNewOperation); |
1398 void PreemptionFinishedCallbackReceived(TBool aCanStartNewOperation); |
1313 |
1399 |
1314 // from MDevSoundAdaptationObserver |
1400 // from MDevSoundAdaptationObserver |
1315 TBool AdaptorControlsContext() const; |
1401 TBool AdaptorControlsContext() const; |
|
1402 void PreemptionClash(); |
|
1403 void PreemptionClashWithStateChange(); |
|
1404 void NotifyError(TInt aError); |
1316 |
1405 |
1317 /** |
1406 /** |
1318 MDevSoundAdaptationObserver callback. |
1407 MDevSoundAdaptationObserver callback. |
1319 Indicates that a low layer operation completion |
1408 Indicates that a low layer operation completion |
1320 @since |
1409 @since |
1381 Services the first request at the FIFO |
1470 Services the first request at the FIFO |
1382 */ |
1471 */ |
1383 void DoServiceRequestL(const RMmfIpcMessage& aMessage); |
1472 void DoServiceRequestL(const RMmfIpcMessage& aMessage); |
1384 |
1473 |
1385 /* |
1474 /* |
|
1475 Services the first request of queue for a pseudo asynchronous function that has already completed, |
|
1476 but needs to be re-applied again due to pre-emption clash. |
|
1477 */ |
|
1478 void DoServiceAlreadyCompletedRequestL(const TInt aFunction); |
|
1479 |
|
1480 /* |
|
1481 Handles the first request of queue for a pseudo asynchronous function that has already completed, |
|
1482 but needs to be re-applied again due to pre-emption clash. |
|
1483 */ |
|
1484 void HandleAlreadyCompletedRequest(); |
|
1485 |
|
1486 /* |
1386 Services the first request at the FIFO |
1487 Services the first request at the FIFO |
1387 */ |
1488 */ |
1388 void DoServiceNextRequestL(); |
1489 void DoServiceNextRequestL(); |
1389 |
1490 |
1390 /* |
1491 /* |
1448 TBool DoCustomCommandL(const RMmfIpcMessage& aMessage); |
1549 TBool DoCustomCommandL(const RMmfIpcMessage& aMessage); |
1449 MMMFDevSoundCustomInterfaceDeMuxPlugin* InterfaceFromUid(TUid aUid); |
1550 MMMFDevSoundCustomInterfaceDeMuxPlugin* InterfaceFromUid(TUid aUid); |
1450 |
1551 |
1451 static TInt AsyncQueueStartCallback(TAny* aPtr); |
1552 static TInt AsyncQueueStartCallback(TAny* aPtr); |
1452 void AsyncQueueStartCallback(); |
1553 void AsyncQueueStartCallback(); |
|
1554 |
|
1555 void ResetNotifiedError(); |
|
1556 TInt NotifiedError() const; |
|
1557 |
|
1558 TBool NeedToQueue() const; |
1453 |
1559 |
1454 protected: // Data |
1560 protected: // Data |
1455 CMMFDevSoundAdaptation* iAdapter; |
1561 CMMFDevSoundAdaptation* iAdapter; |
1456 |
1562 |
1457 private: // Data |
1563 private: // Data |
1500 RChunk iChunk; |
1606 RChunk iChunk; |
1501 TBool iForceSendOfChunkHandle; |
1607 TBool iForceSendOfChunkHandle; |
1502 |
1608 |
1503 CActiveSchedulerWait* iClosingWait; |
1609 CActiveSchedulerWait* iClosingWait; |
1504 CAsyncCallBack* iAsyncQueueStart; |
1610 CAsyncCallBack* iAsyncQueueStart; |
|
1611 |
|
1612 TInt iRedoFunction; |
|
1613 TMMFDevSoundProxySettingsPckg iCachedClientData; |
|
1614 TInt iSeqNum; |
|
1615 TBool iPreemptionClash; |
|
1616 TInt iNotifiedError; |
|
1617 |
1505 }; |
1618 }; |
1506 |
1619 |
1507 #endif // MMFDEVSOUNDSESSION_H |
1620 #endif // MMFDEVSOUNDSESSION_H |
1508 |
1621 |
1509 // End of File |
1622 // End of File |