diff -r 94fc26b6e006 -r 1fa3fb47b1e3 mmserv/sts/stsproxy/src/rstssession.cpp --- a/mmserv/sts/stsproxy/src/rstssession.cpp Tue Jul 06 14:50:35 2010 +0300 +++ b/mmserv/sts/stsproxy/src/rstssession.cpp Wed Aug 18 10:17:22 2010 +0300 @@ -295,6 +295,26 @@ } } +void RStsSession::SendPlayToneForStop(CSystemToneService::TToneType aTone, + unsigned int& aAlarmContext, MStsPlayAlarmObserver& aObserver) + { + TPckg alarmContextPckg(aAlarmContext); + TInt err = SendReceive(StsMsg_PlayTone, TIpcArgs(aTone, + &alarmContextPckg, &aObserver)); + if (err != KErrNone) + { + //TODO: Log a message + aObserver.PlayAlarmComplete(aAlarmContext); + } + else + { + iObserverMutex.Wait(); + iObserverMap[aAlarmContext] = &aObserver; + iObserverMutex.Signal(); + } + } + + void RStsSession::CleanUpObservers() { iObserverMutex.Wait();