diff -r 71ca22bcf22a -r 5a06f39ad45b mmserv/tms/tmscallserver/src/callcsadpt.cpp --- 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;