--- a/mmserv/tms/tmscallserver/src/callcsadpt.cpp Tue Feb 02 01:08:46 2010 +0200
+++ b/mmserv/tms/tmscallserver/src/callcsadpt.cpp Fri Apr 16 15:29:42 2010 +0300
@@ -26,37 +26,46 @@
#include "tmsshared.h"
#include "tmsclientserver.h"
#include "tarsettings.h"
+#include "cpeaudiodtmftoneplayer.h"
+#include "cspdtmfprovider.h"
+#include "dtmfnotifier.h"
using namespace TMS;
// -----------------------------------------------------------------------------
-// CallCSAdpt::CallCSAdpt
+// TMSCallCSAdpt::TMSCallCSAdpt
//
// -----------------------------------------------------------------------------
//
-CallCSAdpt::CallCSAdpt()
+TMSCallCSAdpt::TMSCallCSAdpt()
{
TRACE_PRN_FN_ENT;
iCSDownlink = NULL;
iCSUplink = NULL;
iRouting = NULL;
+ iDTMFDnlinkPlayer = NULL;
+ iDTMFUplinkPlayer = NULL;
+ iDTMFNotifier = NULL;
TRACE_PRN_FN_EXT;
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::~CallCSAdpt
+// TMSCallCSAdpt::~TMSCallCSAdpt
//
// -----------------------------------------------------------------------------
//
-CallCSAdpt::~CallCSAdpt()
+TMSCallCSAdpt::~TMSCallCSAdpt()
{
TRACE_PRN_FN_ENT;
delete iCSDownlink;
delete iCSUplink;
delete iRouting;
delete iTarSettings;
+ delete iDTMFDnlinkPlayer;
+ delete iDTMFUplinkPlayer;
+ delete iDTMFNotifier;
if (iMsgQueueUp.Handle() > 0)
{
@@ -72,11 +81,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::PostConstruct
+// TMSCallCSAdpt::PostConstruct
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::PostConstruct()
+gint TMSCallCSAdpt::PostConstruct()
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -89,11 +98,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::CreateStream
+// TMSCallCSAdpt::CreateStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::CreateStream(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::CreateStream(TMSCallType /*callType*/,
TMSStreamType strmType, gint& outStrmId)
{
TRACE_PRN_FN_ENT;
@@ -133,11 +142,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::InitStream
+// TMSCallCSAdpt::InitStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::InitStreamL(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::InitStreamL(TMSCallType /*callType*/,
TMSStreamType strmType, gint strmId, TMSFormatType /*frmtType*/,
const RMessage2& aMessage)
{
@@ -157,7 +166,17 @@
}
if (status == TMS_RESULT_SUCCESS)
{
- TRAP(status, iCSUplink = CSUplink::NewL(*this));
+ TRAP(status, iCSUplink = TMSCSUplink::NewL(*this));
+
+ if (status == TMS_RESULT_SUCCESS)
+ {
+ iDTMFUplinkPlayer = TMSDTMFProvider::NewL();
+ iDTMFUplinkPlayer->AddObserverL(*this);
+ if(!iDTMFNotifier)
+ {
+ iDTMFNotifier = TMSDtmfNotifier::NewL();
+ }
+ }
}
iStrmtype = TMS_STREAM_UPLINK;
}
@@ -177,14 +196,25 @@
}
if (status == TMS_RESULT_SUCCESS)
{
- TRAP(status, iCSDownlink = CSDownlink::NewL(*this));
+ TRAP(status, iCSDownlink = TMSCSDownlink::NewL(*this));
if (status == TMS_RESULT_SUCCESS)
{
TRAP(status, iRouting =
CTelephonyAudioRouting::NewL(*this));
if (status == TMS_RESULT_SUCCESS)
{
- iTarSettings = TarSettings::NewL();
+ iTarSettings = TMSTarSettings::NewL();
+ }
+ if (status == TMS_RESULT_SUCCESS)
+ {
+ TRAP(status, iDTMFDnlinkPlayer =
+ TMSAudioDtmfTonePlayer::NewL(*this,
+ KAudioPrefKeyDownDTMF,
+ KAudioPriorityDtmfKeyPress));
+ if(!iDTMFNotifier)
+ {
+ iDTMFNotifier = TMSDtmfNotifier::NewL();
+ }
}
}
}
@@ -206,11 +236,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::StartStream
+// TMSCallCSAdpt::StartStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::StartStream(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::StartStream(TMSCallType /*callType*/,
TMSStreamType strmType, gint strmId)
{
TRACE_PRN_FN_ENT;
@@ -238,11 +268,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::PauseStream
+// TMSCallCSAdpt::PauseStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::PauseStream(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::PauseStream(TMSCallType /*callType*/,
TMSStreamType /*strmType*/, gint /*strmId*/)
{
TRACE_PRN_FN_ENT;
@@ -252,11 +282,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::StopStream
+// TMSCallCSAdpt::StopStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::StopStream(TMSCallType /*callType*/, TMSStreamType strmType,
+gint TMSCallCSAdpt::StopStream(TMSCallType /*callType*/, TMSStreamType strmType,
gint strmId)
{
TRACE_PRN_FN_ENT;
@@ -288,11 +318,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::DeinitStream
+// TMSCallCSAdpt::DeinitStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::DeinitStream(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::DeinitStream(TMSCallType /*callType*/,
TMSStreamType strmType, gint strmId)
{
TRACE_PRN_FN_ENT;
@@ -326,11 +356,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::DeleteStream
+// TMSCallCSAdpt::DeleteStream
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::DeleteStream(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::DeleteStream(TMSCallType /*callType*/,
TMSStreamType strmType, gint strmId)
{
TRACE_PRN_FN_ENT;
@@ -360,11 +390,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::DataXferBufferEmptied
+// TMSCallCSAdpt::DataXferBufferEmptied
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::DataXferBufferEmptied(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::DataXferBufferEmptied(TMSCallType /*callType*/,
TMSStreamType /*strmType*/, gint /*strmId*/)
{
TRACE_PRN_FN_ENT;
@@ -374,11 +404,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::DataXferBufferFilled
+// TMSCallCSAdpt::DataXferBufferFilled
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::DataXferBufferFilled(TMSCallType /*callType*/,
+gint TMSCallCSAdpt::DataXferBufferFilled(TMSCallType /*callType*/,
TMSStreamType /*strmType*/, gint /*strmId*/, guint /*datasize*/)
{
TRACE_PRN_FN_ENT;
@@ -388,11 +418,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetDataXferBufferHndl
+// TMSCallCSAdpt::GetDataXferBufferHndl
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetDataXferBufferHndl(const TMSCallType /*callType*/,
+gint TMSCallCSAdpt::GetDataXferBufferHndl(const TMSCallType /*callType*/,
const TMSStreamType /*strmType*/, const gint /*strmId*/,
const guint32 /*key*/, RChunk& /*chunk*/)
{
@@ -403,11 +433,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetMaxVolume
+// TMSCallCSAdpt::GetMaxVolume
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetMaxVolume(guint& volume)
+gint TMSCallCSAdpt::GetMaxVolume(guint& volume)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -421,11 +451,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetVolume
+// TMSCallCSAdpt::SetVolume
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetVolume(const guint volume)
+gint TMSCallCSAdpt::SetVolume(const guint volume)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -440,11 +470,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetVolume
+// TMSCallCSAdpt::GetVolume
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetVolume(guint& volume)
+gint TMSCallCSAdpt::GetVolume(guint& volume)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -459,11 +489,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetMaxGain
+// TMSCallCSAdpt::GetMaxGain
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetMaxGain(guint& gain)
+gint TMSCallCSAdpt::GetMaxGain(guint& gain)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -477,11 +507,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetGain
+// TMSCallCSAdpt::SetGain
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetGain(const guint gain)
+gint TMSCallCSAdpt::SetGain(const guint gain)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -496,11 +526,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetGain
+// TMSCallCSAdpt::GetGain
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetGain(guint& gain)
+gint TMSCallCSAdpt::GetGain(guint& gain)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -514,11 +544,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetGlobalMaxVolume
+// TMSCallCSAdpt::GetGlobalMaxVolume
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetGlobalMaxVolume(guint& volume)
+gint TMSCallCSAdpt::GetGlobalMaxVolume(guint& volume)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -532,11 +562,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetGlobalVolume
+// TMSCallCSAdpt::SetGlobalVolume
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetGlobalVolume(const guint volume)
+gint TMSCallCSAdpt::SetGlobalVolume(const guint volume)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -552,11 +582,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetGlobalVolume
+// TMSCallCSAdpt::GetGlobalVolume
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetGlobalVolume(guint& volume)
+gint TMSCallCSAdpt::GetGlobalVolume(guint& volume)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -571,11 +601,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetMaxGain
+// TMSCallCSAdpt::GetMaxGain
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetGlobalMaxGain(guint& gain)
+gint TMSCallCSAdpt::GetGlobalMaxGain(guint& gain)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -589,11 +619,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetGain
+// TMSCallCSAdpt::SetGain
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetGlobalGain(const guint gain)
+gint TMSCallCSAdpt::SetGlobalGain(const guint gain)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_SUCCESS);
@@ -609,11 +639,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetGlobalGain
+// TMSCallCSAdpt::GetGlobalGain
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetGlobalGain(guint& gain)
+gint TMSCallCSAdpt::GetGlobalGain(guint& gain)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_ILLEGAL_OPERATION);
@@ -627,11 +657,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetCodecMode
+// TMSCallCSAdpt::GetCodecMode
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetCodecMode(const TMSFormatType /*fmttype*/,
+gint TMSCallCSAdpt::GetCodecMode(const TMSFormatType /*fmttype*/,
const TMSStreamType /*strmtype*/, gint& /*mode*/)
{
TRACE_PRN_FN_ENT;
@@ -641,11 +671,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetCodecMode
+// TMSCallCSAdpt::SetCodecMode
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetCodecMode(const TMSFormatType /*fmttype*/,
+gint TMSCallCSAdpt::SetCodecMode(const TMSFormatType /*fmttype*/,
const TMSStreamType /*strmtype*/, const gint /*mode*/)
{
TRACE_PRN_FN_ENT;
@@ -655,11 +685,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetSupportedBitRatesCount
+// TMSCallCSAdpt::GetSupportedBitRatesCount
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetSupportedBitRatesCount(guint& /*count*/)
+gint TMSCallCSAdpt::GetSupportedBitRatesCount(guint& /*count*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -668,11 +698,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetSupportedBitRates
+// TMSCallCSAdpt::GetSupportedBitRates
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetSupportedBitRates(CBufFlat*& brbuffer)
+gint TMSCallCSAdpt::GetSupportedBitRates(CBufFlat*& brbuffer)
{
TRACE_PRN_FN_ENT;
TRAPD(status, GetSupportedBitRatesL(brbuffer));
@@ -681,22 +711,22 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetSupportedBitRatesL
+// TMSCallCSAdpt::GetSupportedBitRatesL
//
// GetSupportedBitRates implementation which can leave.
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::GetSupportedBitRatesL(CBufFlat*& /*brbuffer*/)
+void TMSCallCSAdpt::GetSupportedBitRatesL(CBufFlat*& /*brbuffer*/)
{
User::Leave(TMS_RESULT_FEATURE_NOT_SUPPORTED);
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetBitRate
+// TMSCallCSAdpt::GetBitRate
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetBitRate(guint& /*bitrate*/)
+gint TMSCallCSAdpt::GetBitRate(guint& /*bitrate*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -705,11 +735,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetBitRate
+// TMSCallCSAdpt::SetBitRate
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetBitRate(const guint /*bitrate*/)
+gint TMSCallCSAdpt::SetBitRate(const guint /*bitrate*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -718,11 +748,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetVAD
+// TMSCallCSAdpt::GetVAD
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetVAD(const TMSFormatType /*fmttype*/, gboolean& /*vad*/)
+gint TMSCallCSAdpt::GetVAD(const TMSFormatType /*fmttype*/, gboolean& /*vad*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -731,11 +761,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetVAD
+// TMSCallCSAdpt::SetVAD
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetVAD(const TMSFormatType /*fmttype*/, const gboolean /*vad*/)
+gint TMSCallCSAdpt::SetVAD(const TMSFormatType /*fmttype*/, const gboolean /*vad*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -744,11 +774,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetCNG
+// TMSCallCSAdpt::GetCNG
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetCNG(const TMSFormatType /*fmttype*/, gboolean& /*cng*/)
+gint TMSCallCSAdpt::GetCNG(const TMSFormatType /*fmttype*/, gboolean& /*cng*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -757,11 +787,12 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetCNG
+// TMSCallCSAdpt::SetCNG
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetCNG(const TMSFormatType /*fmttype*/, const gboolean /*cng*/)
+gint TMSCallCSAdpt::SetCNG(const TMSFormatType /*fmttype*/,
+ const gboolean /*cng*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -770,11 +801,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetPlc
+// TMSCallCSAdpt::GetPlc
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetPlc(const TMSFormatType /*fmttype*/, gboolean& /*plc*/)
+gint TMSCallCSAdpt::GetPlc(const TMSFormatType /*fmttype*/, gboolean& /*plc*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -783,11 +814,12 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetPlc
+// TMSCallCSAdpt::SetPlc
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetPlc(const TMSFormatType /*fmttype*/, const gboolean /*plc*/)
+gint TMSCallCSAdpt::SetPlc(const TMSFormatType /*fmttype*/,
+ const gboolean /*plc*/)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_FEATURE_NOT_SUPPORTED);
@@ -796,11 +828,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetOutput
+// TMSCallCSAdpt::SetOutput
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::SetOutput(TMSAudioOutput output)
+gint TMSCallCSAdpt::SetOutput(TMSAudioOutput output)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
@@ -824,11 +856,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetOutput
+// TMSCallCSAdpt::GetOutput
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetOutput(TMSAudioOutput& output)
+gint TMSCallCSAdpt::GetOutput(TMSAudioOutput& output)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
@@ -846,11 +878,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetPreviousOutput
+// TMSCallCSAdpt::GetPreviousOutput
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetPreviousOutput(TMSAudioOutput& output)
+gint TMSCallCSAdpt::GetPreviousOutput(TMSAudioOutput& output)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
@@ -867,11 +899,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::GetAvailableOutputsL
+// TMSCallCSAdpt::GetAvailableOutputsL
//
// -----------------------------------------------------------------------------
//
-gint CallCSAdpt::GetAvailableOutputsL(gint& count, CBufFlat*& outputsbuffer)
+gint TMSCallCSAdpt::GetAvailableOutputsL(gint& count, CBufFlat*& outputsbuffer)
{
TRACE_PRN_FN_ENT;
gint status(TMS_RESULT_UNINITIALIZED_OBJECT);
@@ -903,15 +935,205 @@
return status;
}
+// -----------------------------------------------------------------------------
+// TMSCallCSAdpt::StartDTMF
+//
+// -----------------------------------------------------------------------------
+//
+gint TMSCallCSAdpt::StartDTMF(TMSStreamType strmtype, TDes& dtmfstring)
+ {
+ TRACE_PRN_FN_ENT;
+ gint status(TMS_RESULT_SUCCESS);
-// From MCSPDevSoundObserver
+ TmsMsgBufPckg dtmfpckg;
+
+ if (strmtype == TMS_STREAM_DOWNLINK && iDnlinkInitialized)
+ {
+ if (iDTMFDnlinkPlayer)
+ {
+ iDTMFDnlinkPlayer->PlayDtmfTone(dtmfstring);
+ }
+
+ dtmfpckg().iStatus = TMS_RESULT_SUCCESS;
+ //TMS_EVENT_DTMF_TONE_STARTED;
+ dtmfpckg().iRequest = ECmdDTMFOpenDnlinkComplete;
+ if (iDTMFNotifier)
+ {
+ iDTMFNotifier->SetDtmf(dtmfpckg, TRUE);
+ }
+ }
+ else if (strmtype == TMS_STREAM_UPLINK && iUplinkInitialized)
+ {
+ //use etel for uplink
+ if (iDTMFUplinkPlayer)
+ {
+ status = iDTMFUplinkPlayer->SendDtmfToneString(dtmfstring);
+ }
+
+ dtmfpckg().iStatus = TMSUtility::EtelToTMSResult(status);
+ //TMS_EVENT_DTMF_TONE_STARTED;
+ dtmfpckg().iRequest = ECmdDTMFOpenUplinkComplete;
+
+ if (iDTMFNotifier)
+ {
+ iDTMFNotifier->SetDtmf(dtmfpckg, TRUE);
+ }
+ }
+
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
// -----------------------------------------------------------------------------
-// CallCSAdpt::DownlinkInitCompleted
+// TMSCallCSAdpt::StopDTMF
+//
+// -----------------------------------------------------------------------------
+//
+gint TMSCallCSAdpt::StopDTMF(TMSStreamType streamtype)
+ {
+ TRACE_PRN_FN_ENT;
+ gint status(TMS_RESULT_SUCCESS);
+
+ if (streamtype == TMS_STREAM_DOWNLINK && iDTMFDnlinkPlayer)
+ {
+ iDTMFDnlinkPlayer->Cancel();
+ }
+ else if (streamtype == TMS_STREAM_UPLINK && iDTMFUplinkPlayer)
+ {
+ status = iDTMFUplinkPlayer->StopDtmfTone();
+ status = TMSUtility::EtelToTMSResult(status);
+ }
+
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSCallCSAdpt::ContinueDTMF
+//
+// -----------------------------------------------------------------------------
+//
+gint TMSCallCSAdpt::ContinueDTMF(TBool continuesending)
+ {
+ TRACE_PRN_FN_ENT;
+ gint status(TMS_RESULT_SUCCESS);
+
+ if (iDTMFUplinkPlayer)
+ {
+ status = iDTMFUplinkPlayer->ContinueDtmfStringSending(continuesending);
+ status = TMSUtility::EtelToTMSResult(status);
+ }
+
+ TRACE_PRN_FN_EXT;
+ return status;
+ }
+
+//From DTMFTonePlayerObserver
+// -----------------------------------------------------------------------------
+// TMSCallCSAdpt::DTMFInitCompleted
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::DownlinkInitCompleted(TInt status)
+void TMSCallCSAdpt::DTMFInitCompleted(TInt /*error*/)
+ {
+ TRACE_PRN_FN_ENT;
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSCallCSAdpt::DTMFToneFinished
+//
+// -----------------------------------------------------------------------------
+//
+void TMSCallCSAdpt::DTMFToneFinished(TInt error)
+ {
+ TRACE_PRN_FN_ENT;
+ TmsMsgBufPckg dtmfpckg;
+
+ if (error == KErrUnderflow || error == KErrInUse)
+ {
+ error = TMS_RESULT_SUCCESS;
+ }
+
+ dtmfpckg().iStatus = TMSUtility::TMSResult(error);
+ //TMS_EVENT_DTMF_TONE_STOPPED
+ dtmfpckg().iRequest = ECmdDTMFTonePlayFinished;
+ if (iDTMFNotifier)
+ {
+ iDTMFNotifier->SetDtmf(dtmfpckg, TRUE);
+ }
+
+ TRACE_PRN_FN_EXT;
+ }
+
+// -----------------------------------------------------------------------------
+// TMSCallCSAdpt::HandleDTMFEvent
+//
+// -----------------------------------------------------------------------------
+//
+void TMSCallCSAdpt::HandleDTMFEvent(
+ const TMSCCPDTMFObserver::TCCPDtmfEvent aEvent, const TInt aError,
+ const TChar /*aTone*/)
+ {
+ TRACE_PRN_FN_ENT;
+ TmsMsgBufPckg dtmfpckg;
+
+ TRACE_PRN_N1(_L("**TMS TMSCallCSAdpt::HandleDTMFEvent error:%d"),aError);
+
+ dtmfpckg().iStatus = TMSUtility::EtelToTMSResult(aError);
+
+ switch (aEvent)
+ {
+ /** Unknown */
+ case ECCPDtmfUnknown:
+ break;
+ /** DTMF sending started manually */
+ case ECCPDtmfManualStart:
+ /** Automatic DTMF sending initialized */
+ case ECCPDtmfSequenceStart:
+ //TMS_EVENT_DTMF_TONE_STARTED
+ dtmfpckg().iRequest = ECmdDTMFOpenUplinkComplete;
+ break;
+
+ /** DTMF sending stopped manually */
+ case ECCPDtmfManualStop:
+ //break;
+ /** DTMF sending aborted manually */
+ case ECCPDtmfManualAbort:
+ //break;
+ /** Automatic DTMF sending stopped */
+ case ECCPDtmfSequenceStop:
+ //break;
+ /** Automatic DTMF sending aborted */
+ case ECCPDtmfSequenceAbort:
+ //break;
+ /** There was stop mark in DTMF string */
+ case ECCPDtmfStopInDtmfString:
+ //break;
+ /** DTMF sending completed succesfully */
+ case ECCPDtmfStringSendingCompleted:
+ //TMS_EVENT_DTMF_TONE_STOPPED
+ dtmfpckg().iRequest = ECmdDTMFTonePlayFinished;
+ break;
+ default:
+ break;
+ }
+
+ if (iDTMFNotifier)
+ {
+ iDTMFNotifier->SetDtmf(dtmfpckg, TRUE);
+ }
+ TRACE_PRN_FN_EXT;
+ }
+
+// From TMSCSPDevSoundObserver
+
+// -----------------------------------------------------------------------------
+// TMSCallCSAdpt::DownlinkInitCompleted
+//
+// -----------------------------------------------------------------------------
+//
+void TMSCallCSAdpt::DownlinkInitCompleted(TInt status)
{
TRACE_PRN_FN_ENT;
NotifyClient(iDnlinkStreamId, ECmdDownlinkInitComplete, status, 0);
@@ -919,11 +1141,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::UplinkInitCompleted
+// TMSCallCSAdpt::UplinkInitCompleted
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::UplinkInitCompleted(TInt status)
+void TMSCallCSAdpt::UplinkInitCompleted(TInt status)
{
TRACE_PRN_FN_ENT;
NotifyClient(iUplinkStreamId, ECmdUplinkInitComplete, status, 0);
@@ -931,11 +1153,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::UplinkActivatedSuccessfully
+// TMSCallCSAdpt::UplinkActivatedSuccessfully
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::UplinkActivatedSuccessfully()
+void TMSCallCSAdpt::UplinkActivatedSuccessfully()
{
TRACE_PRN_FN_ENT;
NotifyClient(iUplinkStreamId, ECmdUplinkStarted, KErrNone, 0);
@@ -943,11 +1165,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::DownlinkActivatedSuccessfully
+// TMSCallCSAdpt::DownlinkActivatedSuccessfully
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::DownlinkActivatedSuccessfully()
+void TMSCallCSAdpt::DownlinkActivatedSuccessfully()
{
TRACE_PRN_FN_ENT;
NotifyClient(iDnlinkStreamId, ECmdDownlinkStarted, KErrNone, 0);
@@ -955,11 +1177,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::UplinkActivationFailed
+// TMSCallCSAdpt::UplinkActivationFailed
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::UplinkActivationFailed()
+void TMSCallCSAdpt::UplinkActivationFailed()
{
TRACE_PRN_FN_ENT;
NotifyClient(iUplinkStreamId, ECmdUplinkStarted, TMS_RESULT_FATAL_ERROR, 0);
@@ -967,11 +1189,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::DownlinkActivationFailed
+// TMSCallCSAdpt::DownlinkActivationFailed
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::DownlinkActivationFailed()
+void TMSCallCSAdpt::DownlinkActivationFailed()
{
TRACE_PRN_FN_ENT;
NotifyClient(iDnlinkStreamId, ECmdDownlinkStarted,
@@ -980,11 +1202,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::AvailableOutputsChanged
+// TMSCallCSAdpt::AvailableOutputsChanged
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::AvailableOutputsChanged(
+void TMSCallCSAdpt::AvailableOutputsChanged(
CTelephonyAudioRouting& /*aTelephonyAudioRouting*/)
{
TRACE_PRN_FN_ENT;
@@ -995,11 +1217,12 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::OutputChanged
+// TMSCallCSAdpt::OutputChanged
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::OutputChanged(CTelephonyAudioRouting& aTelephonyAudioRouting)
+void TMSCallCSAdpt::OutputChanged(
+ CTelephonyAudioRouting& aTelephonyAudioRouting)
{
TRACE_PRN_FN_ENT;
TRoutingMsgBufPckg pckg;
@@ -1010,11 +1233,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::SetOutputComplete
+// TMSCallCSAdpt::SetOutputComplete
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::SetOutputComplete(
+void TMSCallCSAdpt::SetOutputComplete(
CTelephonyAudioRouting& aTelephonyAudioRouting, gint /*aError*/)
{
TRACE_PRN_FN_ENT;
@@ -1030,11 +1253,11 @@
}
// -----------------------------------------------------------------------------
-// CallCSAdpt::NotifyClient
+// TMSCallCSAdpt::NotifyClient
//
// -----------------------------------------------------------------------------
//
-void CallCSAdpt::NotifyClient(const gint strmId, const gint aCommand,
+void TMSCallCSAdpt::NotifyClient(const gint strmId, const gint aCommand,
const gint aStatus, const gint64 /*aInt64*/)
{
iMsgBuffer.iRequest = aCommand;