--- 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 <s32mem.h>
-#include <gstring.h>
#include <AudioPreference.h>
#include <tmseffectobsrvr.h>
#include <tmsglobalroutingobsrvr.h>
-#include <tmsringtoneobsrvr.h>
-#include <tmsdtmfobsrvr.h>
-#include <tmsinbandtoneobsrvr.h>
#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<TUint32>& 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<TMSGlobalRoutingObserver*>(obsrv)),
*(static_cast<TMSGlobalRouting*>(parent)), clientid);
break;
- case EMsgQueueRingtoneType:
- status = AddRingToneObserver(
- *(static_cast<TMSRingToneObserver*>(obsrv)),
- *(static_cast<TMSRingTone*>(parent)), clientid);
- break;
- case EMsgQueueDTMFType:
- status = AddDTMFObserver(*(static_cast<TMSDTMFObserver*>(obsrv)),
- *(static_cast<TMSDTMF*>(parent)), clientid);
- break;
- case EMsgQueueInbandToneType:
- status = AddInbandToneObserver(
- *(static_cast<TMSInbandToneObserver*>(obsrv)),
- *(static_cast<TMSInbandTone*>(parent)), clientid);
- break;
default:
status = TMS_RESULT_INVALID_ARGUMENT;
break;
@@ -699,18 +473,6 @@
status = RemoveRoutingObserver(
*(static_cast<TMSGlobalRoutingObserver*>(obsrv)));
break;
- case EMsgQueueRingtoneType:
- status = RemoveRingToneObserver(
- *(static_cast<TMSRingToneObserver*>(obsrv)));
- break;
- case EMsgQueueDTMFType:
- status = RemoveDTMFObserver(
- *(static_cast<TMSDTMFObserver*>(obsrv)));
- break;
- case EMsgQueueInbandToneType:
- status = RemoveInbandToneObserver(
- *(static_cast<TMSInbandToneObserver*>(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