--- a/devsound/a3fdevsound/src/mmfdevsoundserver/mmfdevsoundsession.h Fri Apr 16 16:34:49 2010 +0300
+++ b/devsound/a3fdevsound/src/mmfdevsoundserver/mmfdevsoundsession.h Mon May 03 13:56:28 2010 +0300
@@ -48,7 +48,8 @@
{
EMsgQueueFailedToSendMsg =1,
EQueueRequestsFailedToAppend,
- EUnexpectedAsyncOpCompleteHandlingCI
+ EUnexpectedAsyncOpCompleteHandlingCI,
+ ERequestBeingServicedMismatch
};
// CLASS DECLARATION
@@ -207,6 +208,14 @@
TBool DoInitialize1L(const RMmfIpcMessage& aMessage);
/**
+ Method to service Initialize1L request that has already completed, but
+ not finished due to a pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedInitialize1L();
+
+ /**
Method to service Initialize2L request.
Leaves on failure.
@since
@@ -217,6 +226,14 @@
TBool DoInitialize2L(const RMmfIpcMessage& aMessage);
/**
+ Method to service Initialize2L request that has already completed, but
+ not finished due to a pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedInitialize2L();
+
+ /**
Method to service Initialize3L request.
Leaves on failure.
@param const RMmfIpcMessage& aMessage A reference to message object
@@ -235,6 +252,14 @@
TBool DoInitialize4L(const RMmfIpcMessage& aMessage);
/**
+ Method to service Initialize4L request that has already completed, but
+ not finished due to a pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedInitialize4L();
+
+ /**
Method to service CancelInitialize request.
Leaves on failure.
@since
@@ -388,6 +413,14 @@
TBool DoPlayInitL(const RMmfIpcMessage& aMessage);
/**
+ Method to service initialize DevSound to play request that has already completed,
+ but not finished due to a pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedPlayInitL();
+
+ /**
Method to service initialize DevSound to record request.
Leaves on failure.
@since
@@ -398,6 +431,14 @@
TBool DoRecordInitL(const RMmfIpcMessage& aMessage);
/**
+ Method to service initialize DevSound to record request that has already completed,
+ but not finished due to a pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedRecordInitL();
+
+ /**
Method to service signal DevSound to playing current buffer request.
Leaves on failure.
@since
@@ -450,6 +491,15 @@
TBool DoPlayToneL(const RMmfIpcMessage& aMessage);
/**
+ Method to service signal DevSound to play simple tone operation
+ request that has already completed, but not finished due to a
+ pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedPlayToneL();
+
+ /**
Method to service signal DevSound to play dual tone operation
request.
Leaves on failure.
@@ -461,6 +511,15 @@
TBool DoPlayDualToneL(const RMmfIpcMessage& aMessage);
/**
+ Method to service signal DevSound to play dual tone operation
+ request that has already completed, but not finished due to a
+ pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedPlayDualToneL();
+
+ /**
Method to service signal DevSound to play DTMFString operation
request.
Leaves on failure.
@@ -472,6 +531,15 @@
TBool DoPlayDTMFStringL(const RMmfIpcMessage& aMessage);
/**
+ Method to service signal DevSound to play DTMFString operation
+ request that has already completed, but not finished due to a
+ pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedPlayDTMFStringL();
+
+ /**
Method to service signal DevSound to play tone sequence operation
request.
Leaves on failure.
@@ -483,6 +551,15 @@
TBool DoPlayToneSequenceL(const RMmfIpcMessage& aMessage);
/**
+ Method to service signal DevSound to play tone sequence operation
+ request that has already completed, but not finished due to a
+ pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedPlayToneSequenceL();
+
+ /**
Method to service signal DevSound to play fixed sequence operation
request.
Leaves on failure.
@@ -494,6 +571,15 @@
TBool DoPlayFixedSequenceL(const RMmfIpcMessage& aMessage);
/**
+ Method to service signal DevSound to play fixed sequence operation
+ request that has already completed, but not finished due to a
+ pre-emption clash during its commit cycle(s).
+ Leaves on failure.
+ @return void
+ */
+ void DoAlreadyCompletedPlayFixedSequenceL();
+
+ /**
Method to service signal DevSound to initilize DTMF String operation
request.
Leaves on failure.
@@ -1313,6 +1399,9 @@
// from MDevSoundAdaptationObserver
TBool AdaptorControlsContext() const;
+ void PreemptionClash();
+ void PreemptionClashWithStateChange();
+ void NotifyError(TInt aError);
/**
MDevSoundAdaptationObserver callback.
@@ -1383,6 +1472,18 @@
void DoServiceRequestL(const RMmfIpcMessage& aMessage);
/*
+ Services the first request of queue for a pseudo asynchronous function that has already completed,
+ but needs to be re-applied again due to pre-emption clash.
+ */
+ void DoServiceAlreadyCompletedRequestL(const TInt aFunction);
+
+ /*
+ Handles the first request of queue for a pseudo asynchronous function that has already completed,
+ but needs to be re-applied again due to pre-emption clash.
+ */
+ void HandleAlreadyCompletedRequest();
+
+ /*
Services the first request at the FIFO
*/
void DoServiceNextRequestL();
@@ -1451,6 +1552,11 @@
static TInt AsyncQueueStartCallback(TAny* aPtr);
void AsyncQueueStartCallback();
+ void ResetNotifiedError();
+ TInt NotifiedError() const;
+
+ TBool NeedToQueue() const;
+
protected: // Data
CMMFDevSoundAdaptation* iAdapter;
@@ -1502,6 +1608,13 @@
CActiveSchedulerWait* iClosingWait;
CAsyncCallBack* iAsyncQueueStart;
+
+ TInt iRedoFunction;
+ TMMFDevSoundProxySettingsPckg iCachedClientData;
+ TInt iSeqNum;
+ TBool iPreemptionClash;
+ TInt iNotifiedError;
+
};
#endif // MMFDEVSOUNDSESSION_H