diff -r 095bea5f582e -r 0ac9a5310753 mmserv/tms/tmsproxy/src/tmsproxy.cpp --- a/mmserv/tms/tmsproxy/src/tmsproxy.cpp Tue Aug 31 15:43:02 2010 +0300 +++ b/mmserv/tms/tmsproxy/src/tmsproxy.cpp Wed Sep 01 12:23:00 2010 +0100 @@ -16,13 +16,9 @@ */ #include -#include #include #include #include -#include -#include -#include #include "tmsutility.h" #include "tmsclientserver.h" #include "tmsproxy.h" @@ -30,12 +26,11 @@ using namespace TMS; // CONSTANTS -const guint KTMSServerConnectRetries = 2; -const guint KSessionMessageSlots = 10; -const guint KUTF8Multiply = 2; +const TUint KTMSServerConnectRetries = 2; +const TUint KSessionMessageSlots = 10; // ----------------------------------------------------------------------------- -// TMSProxy::StartServer +// StartServer // // Function that will launch TMS server executable in it its own process. // Start the server process/thread, which lives in an EPOCEXE object. @@ -119,13 +114,14 @@ { TRACE_PRN_FN_ENT; - guint retry = KTMSServerConnectRetries; + gint retry = KTMSServerConnectRetries; gint err(TMS_RESULT_GENERAL_ERROR); + gint numMessageSlots = KSessionMessageSlots; for (;;) { // Try to create a new session with the server - err = CreateSession(KTMSServerName, Version(), KSessionMessageSlots); + err = CreateSession(KTMSServerName, Version(), numMessageSlots); if ((err != KErrNotFound) && (err != KErrServerTerminated)) { @@ -182,8 +178,9 @@ EXPORT_C gint TMSProxy::GetTMSCallSessionHandle() { - gint handle = SendReceive(ETMSCallSessionHandle); - return handle; + gint err(TMS_RESULT_SUCCESS); + err = SendReceive(ETMSCallSessionHandle); + return TMSRESULT(err); } EXPORT_C gint TMSProxy::GetSupportedDecoders(RArray& aDecoders, @@ -400,215 +397,6 @@ return TMSRESULT(status); } -EXPORT_C gint TMSProxy::InitRT(const TMSRingToneType type, GString* str, - GString* tts) - { - TRACE_PRN_FN_ENT; - gint status(TMS_RESULT_INVALID_ARGUMENT); - TIpcArgs args; - HBufC* ttsBuf(NULL); - - if (tts) - { - // Convert buffer from UTF-8 to unicode (16-bit) - // Note: UTF-8 strings can take up to 4 bytes per character - guint unilen = tts->len / KUTF8Multiply; - TRAP(status, ttsBuf = HBufC::NewL(unilen)); - if (status == KErrNone) - { - TPtr p = ttsBuf->Des(); - p.Copy((TUint16*) tts->str, unilen); - args.Set(1, &p); - } - } - - switch (type) - { - case TMS_RINGTONE_DEFAULT: - { - status = RSessionBase::SendReceive(ETMSRingToneInitDefault, args); - break; - } - case TMS_RINGTONE_FILE: - { - if (str) - { - HBufC* buf(NULL); - // Convert buffer from UTF-8 to unicode (16-bit) - // Note: UTF-8 strings can take up to 4 bytes per character - guint unilen = str->len / KUTF8Multiply; - - TRAP(status, buf = HBufC::NewL(unilen)); - if (buf && status == KErrNone) - { - TPtr p = buf->Des(); - p.Copy((TUint16*) str->str, unilen); - TIpcArgs args; - args.Set(0, &p); - status = RSessionBase::SendReceive(ETMSRingToneInitFile, - args); - } - delete buf; - buf = NULL; - } - break; - } - case TMS_RINGTONE_BEEP_ONCE: - { - status = RSessionBase::SendReceive(ETMSRingToneInitBeepOnce); - break; - } - case TMS_RINGTONE_SILENT: - { - status = RSessionBase::SendReceive(ETMSRingToneInitSilent); - break; - } - case TMS_RINGTONE_UNSECURE_VOIP: - { - status = RSessionBase::SendReceive(ETMSRingToneInitUnsecureVoIP); - break; - } - case TMS_RINGTONE_SEQUENCE: - { - if (str) - { - HBufC8* buf(NULL); - gint len = str->len; - TRAP(status, buf = HBufC8::NewL(len)); - if (buf && status == KErrNone) - { - TPtr8 p = buf->Des(); - p.Copy((TUint8*) str->str, len); - TIpcArgs args; - args.Set(0, &p); - status = RSessionBase::SendReceive( - ETMSRingToneInitSequence, args); - } - delete buf; - buf = NULL; - } - break; - } - default: - break; - } - - delete ttsBuf; - ttsBuf = NULL; - - TRACE_PRN_FN_EXT; - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::DeinitRT() - { - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSRingToneDeinit); - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::PlayRT() - { - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSRingTonePlay); - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::StopRT() - { - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSRingToneStop); - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::PauseRT() - { - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSRingTonePause); - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::MuteRT() - { - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSRingToneMute); - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::InitDTMFPlayer(TMSStreamType streamtype) - { - gint status(TMS_RESULT_SUCCESS); - TIpcArgs args; - args.Set(0, streamtype); - status = RSessionBase::SendReceive(ETMSInitDTMF, args); - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::StartDTMF(TMSStreamType streamtype, GString* tone) - { - TRACE_PRN_FN_ENT; - __ASSERT_ALWAYS(tone, PANIC(TMS_RESULT_NULL_ARGUMENT)); - - gint status(TMS_RESULT_SUCCESS); - HBufC* buf(NULL); - TRAP(status, buf = HBufC::NewL(tone->len)); - if (status == KErrNone) - { - TPtr p1 = buf->Des(); - TPtr8 p2((TUint8*) tone->str, tone->len, tone->len); - p1.Copy(p2); - - TRACE_PRN_N(p1); - - TIpcArgs args; - args.Set(0, streamtype); - args.Set(1, &p1); - status = RSessionBase::SendReceive(ETMSStartDTMF, args); - } - delete buf; - buf = NULL; - TRACE_PRN_FN_EXT; - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::StopDTMF(TMSStreamType streamtype) - { - TRACE_PRN_FN_ENT; - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSStopDTMF, TIpcArgs(streamtype)); - TRACE_PRN_FN_EXT; - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::ContinueDTMFStringSending(gboolean continuesending) - { - TRACE_PRN_FN_ENT; - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSContinueDTMF, - TIpcArgs(continuesending)); - TRACE_PRN_FN_EXT; - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::StartInbandTone(TMSInbandToneType inbandtonetype) - { - TRACE_PRN_FN_ENT; - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSStartInbandTone, - TIpcArgs(inbandtonetype)); - TRACE_PRN_FN_EXT; - return TMSRESULT(status); - } - -EXPORT_C gint TMSProxy::StopInbandTone() - { - TRACE_PRN_FN_ENT; - gint status(TMS_RESULT_SUCCESS); - status = RSessionBase::SendReceive(ETMSStopInbandTone); - TRACE_PRN_FN_EXT; - return TMSRESULT(status); - } - EXPORT_C gint TMSProxy::StartGlobalEffectNotifier() { gint status(TMS_RESULT_SUCCESS); @@ -658,20 +446,6 @@ *(static_cast(obsrv)), *(static_cast(parent)), clientid); break; - case EMsgQueueRingtoneType: - status = AddRingToneObserver( - *(static_cast(obsrv)), - *(static_cast(parent)), clientid); - break; - case EMsgQueueDTMFType: - status = AddDTMFObserver(*(static_cast(obsrv)), - *(static_cast(parent)), clientid); - break; - case EMsgQueueInbandToneType: - status = AddInbandToneObserver( - *(static_cast(obsrv)), - *(static_cast(parent)), clientid); - break; default: status = TMS_RESULT_INVALID_ARGUMENT; break; @@ -699,18 +473,6 @@ status = RemoveRoutingObserver( *(static_cast(obsrv))); break; - case EMsgQueueRingtoneType: - status = RemoveRingToneObserver( - *(static_cast(obsrv))); - break; - case EMsgQueueDTMFType: - status = RemoveDTMFObserver( - *(static_cast(obsrv))); - break; - case EMsgQueueInbandToneType: - status = RemoveInbandToneObserver( - *(static_cast(obsrv))); - break; default: status = TMS_RESULT_INVALID_ARGUMENT; break; @@ -806,104 +568,6 @@ return TMSRESULT(status); } -gint TMSProxy::AddRingToneObserver(TMSRingToneObserver& obsrv, - TMSRingTone& parent, gint /*clientid*/) - { - gint status = iRingToneObsrvrList.Find(&obsrv); - if (status == KErrNotFound) - { - status = iRingToneObsrvrList.Append(&obsrv); - status = iRingToneParentList.Append(&parent); - } - else - { - status = TMS_RESULT_ALREADY_EXIST; - } - return TMSRESULT(status); - } - -gint TMSProxy::RemoveRingToneObserver(TMSRingToneObserver& obsrv) - { - gint status(TMS_RESULT_SUCCESS); - gint index = iRingToneObsrvrList.Find(&obsrv); - if (index >= 0) - { - iRingToneObsrvrList.Remove(index); - iRingToneParentList.Remove(index); - } - else - { - status = TMS_RESULT_DOES_NOT_EXIST; - } - return TMSRESULT(status); - } - -gint TMSProxy::AddDTMFObserver(TMSDTMFObserver& obsrv, TMSDTMF& parent, - gint /*clientid*/) - { - // Add to list if observer is not already added - gint status = iDTMFObsrvrList.Find(&obsrv); - if (status == KErrNotFound) - { - status = iDTMFObsrvrList.Append(&obsrv); - status = iDTMFParentList.Append(&parent); - } - else - { - status = TMS_RESULT_ALREADY_EXIST; - } - return TMSRESULT(status); - } - -gint TMSProxy::RemoveDTMFObserver(TMSDTMFObserver& obsrv) - { - gint status(TMS_RESULT_SUCCESS); - gint index = iDTMFObsrvrList.Find(&obsrv); - if (index >= 0) - { - iDTMFObsrvrList.Remove(index); - iDTMFParentList.Remove(index); - } - else - { - status = TMS_RESULT_DOES_NOT_EXIST; - } - return TMSRESULT(status); - } - -gint TMSProxy::AddInbandToneObserver(TMSInbandToneObserver& obsrv, - TMSInbandTone& parent, gint /*clientid*/) - { - // Add to list if observer is not already added - gint status = iInbandToneObsrvrList.Find(&obsrv); - if (status == KErrNotFound) - { - status = iInbandToneObsrvrList.Append(&obsrv); - status = iInbandToneParentList.Append(&parent); - } - else - { - status = TMS_RESULT_ALREADY_EXIST; - } - return TMSRESULT(status); - } - -gint TMSProxy::RemoveInbandToneObserver(TMSInbandToneObserver& obsrv) - { - gint status(TMS_RESULT_SUCCESS); - gint index = iInbandToneObsrvrList.Find(&obsrv); - if (index >= 0) - { - iInbandToneObsrvrList.Remove(index); - iInbandToneParentList.Remove(index); - } - else - { - status = TMS_RESULT_DOES_NOT_EXIST; - } - return TMSRESULT(status); - } - // --------------------------------------------------------------------------- // TMSProxy::CreateQueue // --------------------------------------------------------------------------- @@ -1002,36 +666,6 @@ } break; } - case TMS_EVENT_RINGTONE_OPEN_COMPLETE: - case TMS_EVENT_RINGTONE_PLAY_COMPLETE: - case TMS_EVENT_RINGTONE_DEINIT_COMPLETE: - { - for (gint i = 0; i < iRingToneObsrvrList.Count(); i++) - { - iRingToneObsrvrList[i]->RingtoneEvent(*iRingToneParentList[i], - event); - } - break; - } - case TMS_EVENT_DTMF_TONE_STARTED: - case TMS_EVENT_DTMF_TONE_STOPPED: - { - for (gint i = 0; i < iDTMFObsrvrList.Count(); i++) - { - iDTMFObsrvrList[i]->DTMFEvent(*iDTMFParentList[i], event); - } - break; - } - case TMS_EVENT_INBAND_TONE_STARTED: - case TMS_EVENT_INBAND_TONE_STOPPED: - { - for (gint i = 0; i < iInbandToneObsrvrList.Count(); i++) - { - iInbandToneObsrvrList[i]->InbandToneEvent( - *iInbandToneParentList[i], event); - } - break; - } default: break; } @@ -1045,15 +679,9 @@ { iEffectsObsrvrList.Reset(); iRoutingObsrvrList.Reset(); - iRingToneObsrvrList.Reset(); - iDTMFObsrvrList.Reset(); - iInbandToneObsrvrList.Reset(); iEffectsParentList.Reset(); iRoutingParentList.Reset(); - iRingToneParentList.Reset(); - iDTMFParentList.Reset(); - iInbandToneParentList.Reset(); } // End of file