--- a/mmserv/tms/tmsserver/src/tmsserver.cpp Thu Aug 19 10:26:11 2010 +0300
+++ b/mmserv/tms/tmsserver/src/tmsserver.cpp Tue Aug 31 15:43:02 2010 +0300
@@ -18,6 +18,7 @@
#include <e32svr.h>
#include <e32uid.h>
#include <e32capability.h>
+#include <AudioPreference.h>
#include "tmsutility.h"
#include "tmsclientserver.h"
#include "tmstelephonycenrep.h"
@@ -29,6 +30,10 @@
#include "tmsglobaleffectssettings.h"
#include "tmstareventhandler.h"
#include "tmscenrepaudiohandler.h"
+#include "tmsdtmftoneplayer.h"
+#include "tmsdtmfprovider.h"
+#include "tmspubsublistener.h"
+#include "tmsrtparam.h"
#include "tmsserver.h"
using namespace TMS;
@@ -80,7 +85,12 @@
delete iEffectSettings;
delete iTarHandler;
delete iAudioCenRepHandler;
-
+ DeinitRingTonePlayer();
+ delete iTMSRtPlayer;
+ delete iDTMFUplinkPlayer;
+ delete iDTMFUplinkPlayerEtel;
+ delete iDTMFDnlinkPlayer;
+ delete iSyncVol;
TRACE_PRN_FN_EXT;
}
@@ -129,6 +139,14 @@
iTarHandler = NULL;
iAudioCenRepHandler = NULL;
iCurrentRouting = TMS_AUDIO_OUTPUT_PRIVATE;
+ iDTMFDnlinkPlayer = NULL;
+ iDTMFUplinkPlayer = NULL;
+ iDTMFUplinkPlayerEtel = NULL;
+ iActiveCallType = -1;
+ iSyncVol = TMSPubSubListener::NewL(KTMSPropertyCategory,ESyncVolume, this);
+
+ //TODO: EUnit fails to initialize ProfileEngine in RT in eshell mode
+ TRAP_IGNORE(InitRingTonePlayerL());
// We need it running for global volume change updates
StartRoutingNotifierL();
@@ -180,46 +198,6 @@
}
// -----------------------------------------------------------------------------
-// TMSServer::SetDnLinkSession
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::SetDnLinkSession(const TBool aSession)
- {
- iDnlinkSession = aSession;
- }
-
-// -----------------------------------------------------------------------------
-// TMSServer::SetUpLinkSession
-//
-// -----------------------------------------------------------------------------
-//
-void TMSServer::SetUpLinkSession(const TBool aSession)
- {
- iUplinkSession = aSession;
- }
-
-// -----------------------------------------------------------------------------
-// TMSServer::HasDnLinkSession
-//
-// -----------------------------------------------------------------------------
-//
-TBool TMSServer::HasDnLinkSession() const
- {
- return iDnlinkSession;
- }
-
-// -----------------------------------------------------------------------------
-// TMSServer::HasUpLinkSession
-//
-// -----------------------------------------------------------------------------
-//
-TBool TMSServer::HasUpLinkSession() const
- {
- return iUplinkSession;
- }
-
-// -----------------------------------------------------------------------------
// TMSServer::GetNewTMSCallSessionHandleL
//
// -----------------------------------------------------------------------------
@@ -262,7 +240,7 @@
TInt status = TMS_RESULT_SUCCESS;
TMSStartAndMonitorTMSCallThread* callServerThread = NULL;
- TRAP(status, callServerThread =TMSStartAndMonitorTMSCallThread::NewL(
+ TRAP(status, callServerThread = TMSStartAndMonitorTMSCallThread::NewL(
const_cast<TMSServer*>(this)));
if (status != TMS_RESULT_SUCCESS)
{
@@ -287,11 +265,13 @@
case TMS_AUDIO_OUTPUT_LOUDSPEAKER:
{
iEffectSettings->GetLoudSpkrVolume(volume);
+ TRACE_PRN_N1(_L("loudspk vol %d"),volume);
}
break;
default:
{
iEffectSettings->GetEarPieceVolume(volume);
+ TRACE_PRN_N1(_L("ear vol %d"),volume);
}
break;
}
@@ -564,9 +544,11 @@
case TMS_AUDIO_OUTPUT_PUBLIC:
case TMS_AUDIO_OUTPUT_LOUDSPEAKER:
iEffectSettings->GetLoudSpkrVolume(volume);
+ TRACE_PRN_N1(_L("TMSServer::GetLevel loudspkr vol %d"),volume);
break;
default:
iEffectSettings->GetEarPieceVolume(volume);
+ TRACE_PRN_N1(_L("TMSServer::GetLevel ear vol %d"),volume);
break;
}
@@ -624,16 +606,12 @@
}
iSessionIter.SetToFirst();
- TMSServerSession* serverSession =
- static_cast<TMSServerSession*> (iSessionIter++);
-
- while (serverSession != NULL)
+ TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
+ while (ss != NULL)
{
- serverSession->HandleGlobalEffectChange(
- TMS_EVENT_EFFECT_VOL_CHANGED, level, EFalse,
- iCurrentRouting);
-
- serverSession = static_cast<TMSServerSession*> (iSessionIter++);
+ ss->HandleGlobalEffectChange(TMS_EVENT_EFFECT_VOL_CHANGED, level,
+ EFalse, iCurrentRouting);
+ ss = static_cast<TMSServerSession*> (iSessionIter++);
}
}
@@ -700,15 +678,11 @@
iAudioCenRepHandler->SetMuteState(level);
iEffectSettings->SetGain(level);
iSessionIter.SetToFirst();
-
- TMSServerSession* serverSession =
- static_cast<TMSServerSession*> (iSessionIter++);
-
- while (serverSession != NULL)
+ TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
+ while (ss != NULL)
{
- serverSession->HandleGlobalEffectChange(
- TMS_EVENT_EFFECT_GAIN_CHANGED, level);
- serverSession = static_cast<TMSServerSession*> (iSessionIter++);
+ ss->HandleGlobalEffectChange(TMS_EVENT_EFFECT_GAIN_CHANGED, level);
+ ss = static_cast<TMSServerSession*> (iSessionIter++);
}
}
@@ -827,32 +801,43 @@
TRACE_PRN_FN_ENT;
TInt vol;
- iCurrentRouting = routingpckg().iOutput;
- if (iCurrentRouting == TMS_AUDIO_OUTPUT_PUBLIC ||
- iCurrentRouting == TMS_AUDIO_OUTPUT_LOUDSPEAKER)
+ TInt status(TMS_RESULT_SUCCESS);
+ FindActiveCallType();
+
+ if (iActiveCallType == TMS_CALL_CS)
{
- iEffectSettings->GetLoudSpkrVolume(vol);
- }
- else
- {
- iEffectSettings->GetEarPieceVolume(vol);
+
+ iCurrentRouting = routingpckg().iOutput;
+ if (iCurrentRouting == TMS_AUDIO_OUTPUT_PUBLIC ||
+ iCurrentRouting == TMS_AUDIO_OUTPUT_LOUDSPEAKER)
+ {
+ iEffectSettings->GetLoudSpkrVolume(vol);
+ TRACE_PRN_N1(_L("TMSServer::NotifyTarClients loudspkr vol %d"),vol);
+ }
+ else
+ {
+ iEffectSettings->GetEarPieceVolume(vol);
+ TRACE_PRN_N1(_L("TMSServer::NotifyTarClients ear vol %d"),vol);
+ }
+
+ status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_VOL_SET, vol);
}
- TInt status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_VOL_SET, vol);
-
iSessionIter.SetToFirst();
- TMSServerSession* serverSession =
- static_cast<TMSServerSession*> (iSessionIter++);
- while (serverSession != NULL)
+ TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
+ while (ss != NULL)
{
// Send only if there is a subscriber to TMS routing notifications.
if (iTarHandlerCount > 1)
{
- serverSession->HandleRoutingChange(routingpckg);
+ ss->HandleRoutingChange(routingpckg);
}
- serverSession->HandleGlobalEffectChange(TMS_EVENT_EFFECT_VOL_CHANGED,
- vol, ETrue, iCurrentRouting);
- serverSession = static_cast<TMSServerSession*> (iSessionIter++);
+ if (iActiveCallType == TMS_CALL_CS)
+ {
+ ss->HandleGlobalEffectChange(TMS_EVENT_EFFECT_VOL_CHANGED, vol,
+ ETrue, iCurrentRouting);
+ }
+ ss = static_cast<TMSServerSession*> (iSessionIter++);
}
TRACE_PRN_FN_EXT;
@@ -860,6 +845,603 @@
}
// -----------------------------------------------------------------------------
+// TMSServer::InitDTMF
+//
+// -----------------------------------------------------------------------------
+//
+TInt TMSServer::InitDTMF(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+ TInt status(TMS_RESULT_SUCCESS);
+ TMSStreamType strmtype;
+ strmtype = (TMSStreamType) aMessage.Int0();
+
+ if (strmtype == TMS_STREAM_UPLINK)
+ {
+ if (!iDTMFUplinkPlayerEtel) //CS call
+ {
+ // Uses ETel for uplink
+ TRAP(status, iDTMFUplinkPlayerEtel = TMSDTMFProvider::NewL());
+ if (iDTMFUplinkPlayerEtel && status == TMS_RESULT_SUCCESS)
+ {
+ iDTMFUplinkPlayerEtel->AddObserver(*this);
+ }
+ }
+ if (!iDTMFUplinkPlayer) //IP call
+ {
+ TRAP(status, iDTMFUplinkPlayer = TMSAudioDtmfTonePlayer::NewL(*this,
+ KAudioDTMFString, KAudioPriorityDTMFString));
+ }
+ }
+ else if (strmtype == TMS_STREAM_DOWNLINK)
+ {
+ if (!iDTMFDnlinkPlayer) //CS or IP call
+ {
+ TRAP(status, iDTMFDnlinkPlayer = TMSAudioDtmfTonePlayer::NewL(*this,
+ KAudioDTMFString, KAudioPriorityDTMFString));
+ }
+ }
+
+ aMessage.Complete(status);
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::StartDTMF
+//
+// -----------------------------------------------------------------------------
+//
+TInt TMSServer::StartDTMF(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+
+ TInt status(TMS_RESULT_SUCCESS);
+ TInt len(0);
+ TMSStreamType strmtype;
+ strmtype = (TMSStreamType) aMessage.Int0();
+ len = aMessage.GetDesLength(1);
+ if (len > 0)
+ {
+ HBufC* tone(NULL);
+ TRAP(status, tone = HBufC::NewL(len));
+ if (status == TMS_RESULT_SUCCESS)
+ {
+ TPtr ptr = tone->Des();
+ status = aMessage.Read(1, ptr);
+ TRACE_PRN_N(ptr);
+
+ if (strmtype == TMS_STREAM_UPLINK)
+ {
+#ifdef __WINSCW__
+ // Just to hear DTMF tones in Wins
+ iActiveCallType = TMS_CALL_IP;
+#else
+ FindActiveCallType();
+#endif
+ if (iActiveCallType == TMS_CALL_IP && iDTMFUplinkPlayer)
+ {
+ iDTMFUplinkPlayer->PlayDtmfTone(ptr);
+ status = TMS_RESULT_SUCCESS;
+ }
+ else if (iActiveCallType == TMS_CALL_CS &&
+ iDTMFUplinkPlayerEtel)
+ {
+ status = iDTMFUplinkPlayerEtel->SendDtmfToneString(ptr);
+ }
+ else
+ {
+ status = TMS_RESULT_INVALID_STATE;
+ }
+ NotifyDtmfClients(ECmdDTMFToneUplPlayStarted, status);
+ }
+ else if (strmtype == TMS_STREAM_DOWNLINK)
+ {
+ status = TMS_RESULT_INVALID_STATE;
+ if (iDTMFDnlinkPlayer)
+ {
+ iDTMFDnlinkPlayer->PlayDtmfTone(ptr);
+ status = TMS_RESULT_SUCCESS;
+ }
+ NotifyDtmfClients(ECmdDTMFToneDnlPlayStarted, status);
+ }
+ else
+ {
+ status = TMS_RESULT_STREAM_TYPE_NOT_SUPPORTED;
+ }
+ }
+ delete tone;
+ tone = NULL;
+ }
+
+ aMessage.Complete(status);
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::StopDTMF
+//
+// -----------------------------------------------------------------------------
+//
+TInt TMSServer::StopDTMF(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+
+ TInt status(TMS_RESULT_INVALID_STATE);
+ TMSStreamType streamtype;
+ streamtype = (TMSStreamType) aMessage.Int0();
+
+ if (streamtype == TMS_STREAM_UPLINK)
+ {
+ if (iActiveCallType == TMS_CALL_IP && iDTMFUplinkPlayer)
+ {
+ iDTMFUplinkPlayer->Cancel();
+ status = TMS_RESULT_SUCCESS;
+ }
+ else if (iActiveCallType == TMS_CALL_CS &&
+ iDTMFUplinkPlayerEtel)
+ {
+ status = iDTMFUplinkPlayerEtel->StopDtmfTone();
+ status = TMSUtility::EtelToTMSResult(status);
+ }
+ }
+ else if (streamtype == TMS_STREAM_DOWNLINK)
+ {
+ if (iDTMFDnlinkPlayer)
+ {
+ iDTMFDnlinkPlayer->Cancel();
+ status = TMS_RESULT_SUCCESS;
+ }
+ }
+ iActiveCallType = -1;
+ NotifyDtmfClients(ECmdDTMFTonePlayFinished, status);
+ aMessage.Complete(status);
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::ContinueSendingDTMF
+//
+// -----------------------------------------------------------------------------
+//
+TInt TMSServer::ContinueSendingDTMF(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+ TInt status(TMS_RESULT_INVALID_STATE);
+ if (iActiveCallType == TMS_CALL_CS && iDTMFUplinkPlayerEtel)
+ {
+ TBool continuesnd = (TBool) aMessage.Int0();
+ status = iDTMFUplinkPlayerEtel->ContinueDtmfStringSending(continuesnd);
+ status = TMSUtility::EtelToTMSResult(status);
+ }
+ aMessage.Complete(status);
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::NotifyDtmfClients
+//
+// -----------------------------------------------------------------------------
+//
+TInt TMSServer::NotifyDtmfClients(gint aEventType, gint aError)
+ {
+ TRACE_PRN_FN_ENT;
+ iSessionIter.SetToFirst();
+ TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
+ while (ss != NULL)
+ {
+ ss->NotifyClient(aEventType, aError);
+ ss = static_cast<TMSServerSession*> (iSessionIter++);
+ }
+ TRACE_PRN_FN_EXT;
+ return TMS_RESULT_SUCCESS;
+ }
+
+//From DTMFTonePlayerObserver
+// -----------------------------------------------------------------------------
+// TMSServer::DTMFInitCompleted
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::DTMFInitCompleted(gint status)
+ {
+ TRACE_PRN_FN_ENT;
+ if (status != TMS_RESULT_SUCCESS)
+ {
+ NotifyDtmfClients(ECmdDTMFTonePlayFinished, status);
+ }
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::DTMFToneFinished
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::DTMFToneFinished(gint status)
+ {
+ TRACE_PRN_FN_ENT;
+ TRACE_PRN_IF_ERR(status);
+
+ // KErrUnderflow indicates end of DTMF playback.
+ if (status == KErrUnderflow /*|| status == KErrInUse*/)
+ {
+ status = TMS_RESULT_SUCCESS;
+ }
+ NotifyDtmfClients(ECmdDTMFTonePlayFinished, status);
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::FindActiveCallType
+//
+// -----------------------------------------------------------------------------
+//
+gint TMSServer::FindActiveCallType()
+ {
+ TInt status(TMS_RESULT_INVALID_STATE);
+ iActiveCallType = -1;
+ TInt i = 0;
+ while (i < iTMSCallServList.Count())
+ {
+ TMSStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i];
+ if (callThread)
+ {
+ TmsCallMsgBufPckg pckg;
+ TIpcArgs args(&pckg);
+ status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer(
+ TMS_GET_ACTIVE_CALL_PARAMS, args);
+ if (pckg().iBool || status != TMS_RESULT_SUCCESS)
+ {
+ iActiveCallType = static_cast<TMSCallType> (pckg().iInt);
+ break;
+ }
+ }
+ i++;
+ }
+ return status;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::HandleDTMFEvent
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::HandleDTMFEvent(const TMSDTMFObserver::TCCPDtmfEvent event,
+ const gint status, const TChar /*tone*/)
+ {
+ TRACE_PRN_FN_ENT;
+ TRACE_PRN_IF_ERR(status);
+ gint cmd = ECmdDTMFTonePlayFinished;
+
+ switch (event)
+ {
+ case ECCPDtmfUnknown: //Unknown
+ break;
+ case ECCPDtmfManualStart: //DTMF sending started manually
+ case ECCPDtmfSequenceStart: //Automatic DTMF sending initialized
+ cmd = ECmdDTMFToneUplPlayStarted;
+ break;
+ case ECCPDtmfManualStop: //DTMF sending stopped manually
+ case ECCPDtmfManualAbort: //DTMF sending aborted manually
+ case ECCPDtmfSequenceStop: //Automatic DTMF sending stopped
+ case ECCPDtmfSequenceAbort: //Automatic DTMF sending aborted
+ case ECCPDtmfStopInDtmfString: //There was stop mark in DTMF string
+ case ECCPDtmfStringSendingCompleted://DTMF sending success
+ default:
+ break;
+ }
+
+ NotifyDtmfClients(cmd, status);
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::InitRingTonePlayerL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::InitRingTonePlayerL()
+ {
+ TRACE_PRN_FN_ENT;
+
+ DeinitRingTonePlayer();
+
+ if (!iTMSRtPlayer)
+ {
+ iTMSRtPlayer = TMSRingTonePlayer::NewL(*this);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::DeinitRingTonePlayer
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::DeinitRingTonePlayer()
+ {
+ TRACE_PRN_FN_ENT;
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->DeinitRingTonePlayer();
+ }
+
+ delete iRtFile;
+ iRtFile = NULL;
+ delete iRtSequence;
+ iRtSequence = NULL;
+ delete iTtsText;
+ iTtsText = NULL;
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::OpenRingTonePlayerFromFileL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::OpenRingTonePlayerFromFileL(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+
+ gint status(TMS_RESULT_INVALID_ARGUMENT);
+ gint len = aMessage.GetDesLength(0);
+ if (len > 0)
+ {
+ InitRingTonePlayerL();
+
+ if (iTMSRtPlayer)
+ {
+ iRtFile = HBufC::NewL(len);
+ TPtr ptr = iRtFile->Des();
+ aMessage.ReadL(0, ptr);
+ iTMSRtPlayer->CreateRingTonePlayerL(EPlayerAudio, *iRtFile);
+ len = aMessage.GetDesLength(1);
+ if (len > 0)
+ {
+ delete iTtsText;
+ iTtsText = NULL;
+ iTtsText = HBufC::NewL(len);
+ TPtr ptr1 = iTtsText->Des();
+ aMessage.ReadL(1, ptr1);
+ iTMSRtPlayer->CreateTTSPlayerL(ptr1);
+ }
+ status = TMS_RESULT_SUCCESS;
+ }
+ }
+ aMessage.Complete(status);
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::OpenRingTonePlayerFromProfileL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::OpenRingTonePlayerFromProfileL(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+
+ gint status(TMS_RESULT_INVALID_ARGUMENT);
+ InitRingTonePlayerL();
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->CreateRingTonePlayerL(EPlayerDefault);
+ gint len = aMessage.GetDesLength(1);
+ if (len > 0)
+ {
+ delete iTtsText;
+ iTtsText = NULL;
+ iTtsText = HBufC::NewL(len);
+ TPtr ptr = iTtsText->Des();
+ aMessage.ReadL(1, ptr);
+ iTMSRtPlayer->CreateTTSPlayerL(ptr);
+ }
+ status = TMS_RESULT_SUCCESS;
+ }
+ aMessage.Complete(status);
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::OpenRingToneSequencePlayerL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::OpenRingToneSequencePlayerL(const RMessage2& aMessage)
+ {
+ TRACE_PRN_FN_ENT;
+
+ gint status(TMS_RESULT_INVALID_ARGUMENT);
+ gint len = aMessage.GetDesLength(0);
+ if (len > 0)
+ {
+ InitRingTonePlayerL();
+ iRtSequence = HBufC8::NewL(len);
+ TPtr8 ptr = iRtSequence->Des();
+ aMessage.ReadL(0, ptr);
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->CreateCustomSequencePlayerL(ptr);
+ status = TMS_RESULT_SUCCESS;
+ }
+ }
+ aMessage.Complete(status);
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::OpenRingToneBeepOnceL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::OpenRingToneBeepOnceL()
+ {
+ TRACE_PRN_FN_ENT;
+
+ InitRingTonePlayerL();
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->CreateSequencePlayerL(EPlayerBeepOnce);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::DeinitRingTone
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::OpenRingToneSilentL()
+ {
+ TRACE_PRN_FN_ENT;
+
+ InitRingTonePlayerL();
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->CreateSequencePlayerL(EPlayerSilent);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::OpenRingToneUnsecureVoipL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::OpenRingToneUnsecureVoipL()
+ {
+ TRACE_PRN_FN_ENT;
+
+ InitRingTonePlayerL();
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->CreateSequencePlayerL(EPlayerUnsecureVoIP);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::PlayRingToneL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::PlayRingToneL()
+ {
+ TRACE_PRN_FN_ENT;
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->PlayRingToneL();
+ }
+ else
+ {
+ User::Leave(TMS_RESULT_UNINITIALIZED_OBJECT);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::PauseVideoRingTone
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::PauseVideoRingTone()
+ {
+ StopRingTone();
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::StopRingTone
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::StopRingTone()
+ {
+ TRACE_PRN_FN_ENT;
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->StopPlaying();
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::MuteRingTone
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::MuteRingTone()
+ {
+ TRACE_PRN_FN_ENT;
+
+ if (iTMSRtPlayer)
+ {
+ iTMSRtPlayer->MuteRingTone();
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::RtPlayerEvent
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::RtPlayerEvent(gint aEventType, gint aError)
+ {
+ TRACE_PRN_FN_ENT;
+
+ iSessionIter.SetToFirst();
+ TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++);
+
+ while (ss != NULL)
+ {
+ ss->NotifyClient(aEventType, aError);
+ ss = static_cast<TMSServerSession*> (iSessionIter++);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSServer::HandleNotifyPSL
+//
+// -----------------------------------------------------------------------------
+//
+void TMSServer::HandleNotifyPSL(const TUid aUid, const TInt& aKey,
+ const TRequestStatus& aStatus)
+ {
+ TRACE_PRN_FN_ENT;
+ if(iEffectSettings)
+ {
+ iEffectSettings->ResetDefaultVolume();
+ }
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
// TMSServer::RunServerL
//
// -----------------------------------------------------------------------------
@@ -1143,4 +1725,3 @@
return r;
}
-// End of file