diff -r b67dd1fc57c5 -r 2ed61feeead6 mmserv/tms/tmscallserver/inc/tmscsdevsound.h --- a/mmserv/tms/tmscallserver/inc/tmscsdevsound.h Fri May 14 18:19:45 2010 -0500 +++ b/mmserv/tms/tmscallserver/inc/tmscsdevsound.h Fri May 28 19:26:28 2010 -0500 @@ -19,58 +19,50 @@ #define TMSCSDEVSOUND_H #include +#include "tmstimer.h" namespace TMS { -class TMSCSPDevSoundObserver; +// FORWARD DECLARATIONS +class TMSTimer; +class TMSCSDevSoundObserver; /** * Wrapper for CMMFDevSound * */ -NONSHARABLE_CLASS(TMSCSPDevSound) : public CBase, - public MDevSoundObserver +NONSHARABLE_CLASS(TMSCSDevSound) : public CBase, + public MDevSoundObserver, + public TMSTimerObserver { public: /** * Destructor. */ - virtual ~TMSCSPDevSound(); - - /** - * Activates the dev sound stream. TMSCSPDevSoundObserver methods are called - * when activation goes ok or fails. If the stream is already active or - * activating then nothing is done. - */ - virtual void Activate(); - - /** - * Deactivates the devsound stream. If stream is not active or - * activation is not ongoing then nothing is done. - */ - virtual void Deactivate(); + virtual ~TMSCSDevSound(); /** - * Indicates that activation is ongoing, - * but the result of the activation is still unknown. - * @return ETrue - activation ongoing, EFalse - activation not ongoing. + * Activates the DevSound stream. + * Stream activation status is indicated by TMSCSDevSoundObserver callback + * methods. If the stream is already active or being activated, call to + * this will result in no action. */ - TBool IsActivationOngoing() const; + virtual void Activate(const gint retrytime); /** - * Determines wether the devsound stream is active or not. - * @return ETrue - Stream is active, EFalse - Stream not active. + * Deactivates an active DevSound stream. */ - TBool IsActive() const; + virtual void Deactivate(gboolean reset = TRUE); + /* + * Returns DevSound instance associated with the stream. + */ CMMFDevSound& DevSound(); - // from base class MDevSoundObserver - /** * From MDevSoundObserver - * Empty implementation + * Indicates DevSound initialization status. */ void InitializeComplete(TInt aError); @@ -78,50 +70,58 @@ * From MDevSoundObserver * Empty implementation */ - void BufferToBeFilled(CMMFBuffer* aBuffer); + void BufferToBeFilled(CMMFBuffer* /*aBuffer*/) {} /** * From MDevSoundObserver * Empty implementation */ - void PlayError(TInt aError); + void PlayError(TInt /*aError*/) {} /** * From MDevSoundObserver * Empty implementation */ - void ToneFinished(TInt aError); + void ToneFinished(TInt /*aError*/) {} + + /** + * From MDevSoundObserver + * Empty implementation + */ + void BufferToBeEmptied(CMMFBuffer* /*aBuffer*/) {} /** * From MDevSoundObserver * Empty implementation */ - void BufferToBeEmptied(CMMFBuffer* aBuffer); + void RecordError(TInt /*aError*/) {} /** * From MDevSoundObserver * Empty implementation */ - void RecordError(TInt aError); + void ConvertError(TInt /*aError*/) {} /** * From MDevSoundObserver * Empty implementation */ - void ConvertError(TInt aError); + void DeviceMessage(TUid /*aMessageType*/, const TDesC8& /*aMsg*/) {} - /** - * From MDevSoundObserver - * Empty implementation + /* + * From TMSTimerObserver. + * Called upon timer timeout event. */ - void DeviceMessage(TUid aMessageType, const TDesC8& aMsg); + void TimerEvent(); protected: - TMSCSPDevSound(TMSCSPDevSoundObserver& aObserver); - - void ConstructL(TMMFState aMode, gint aAudioPreference, - gint aAudioPriority); + TMSCSDevSound(TMSCSDevSoundObserver& observer); + void ConstructL(const TMSStreamType strmtype, const gint retrytime); + void InitializeL(); + void NotifyEvent(gint error); + void StartTimer(); + void CancelTimer(); private: @@ -132,31 +132,40 @@ protected: - TUint iStreamType; - /** - * Indication if device is activated. Derived class has to update this. + * Indication of DevSound activated state. TRUE == stream activated. + * Derived class has to update this. */ - TBool iActive; + gboolean iActive; /** - * Indication if activation is ongoing. + * Indication of an ongoing DevSound activation. * Derived class has to update this. */ - TBool iActivationOngoing; + gboolean iActivationOngoing; /** - * Devsound instance - * Own. + * Devsound instance associated with the stream. */ CMMFDevSound* iDevSound; /** - * Observer for successfull activation. - * Not own. + * An observer subscribing to TMSCSDevSound notifications. */ - TMSCSPDevSoundObserver& iObserver; + TMSCSDevSoundObserver& iObserver; + + TMSStreamType iStreamType; + gint iPreference; + gint iPriority; + TMMFState iMode; + /* + * For retry timer + */ + gint iInitRetryTime; + gint iStartRetryTime; + TMSTimer* iTimer; + gint iTimeout; }; } //namespace TMS