diff -r e35735ece90c -r 3d8c721bf319 mmserv/tms/tmsserver/src/tmsserver.cpp --- a/mmserv/tms/tmsserver/src/tmsserver.cpp Mon Mar 15 12:42:35 2010 +0200 +++ b/mmserv/tms/tmsserver/src/tmsserver.cpp Wed Mar 31 22:29:45 2010 +0300 @@ -20,20 +20,21 @@ #include #include "tmsutility.h" #include "tmsclientserver.h" -#include "tmsserver.h" +#include "tmstelephonycenrep.h" #include "tmsservershutdown.h" #include "tmsserversession.h" #include "tmscallserverstartparam.h" #include "tmscallserver.h" #include "tmscallclisrv.h" -#include "globaleffectssettings.h" -#include "tareventhandler.h" -#include "cspaudiohandler.h" +#include "tmsglobaleffectssettings.h" +#include "tmstareventhandler.h" +#include "tmscenrepaudiohandler.h" +#include "tmsserver.h" using namespace TMS; // CONSTANTS -const TInt KShutDownDelayTime = 5000000; // 5 sec delay time +const TInt KTMSShutDownDelayTime = 1000000; // 1 sec delay time const TInt KOutputsArraySize = 10; // ----------------------------------------------------------------------------- @@ -160,7 +161,7 @@ if (iSession == 0) { iShutdownTimer->SetDelay(TTimeIntervalMicroSeconds32( - KShutDownDelayTime)); + KTMSShutDownDelayTime)); } TRACE_PRN_N1(_L("TMS->DNL: DropSession->Active Sessions: [%d]"), iSession); @@ -171,7 +172,7 @@ // // ----------------------------------------------------------------------------- // -TInt TMSServer::SessionCount() +TInt TMSServer::SessionCount() const { return iSession; } @@ -181,7 +182,7 @@ // // ----------------------------------------------------------------------------- // -void TMSServer::SetDnLinkSession(TBool aSession) +void TMSServer::SetDnLinkSession(const TBool aSession) { iDnlinkSession = aSession; } @@ -191,7 +192,7 @@ // // ----------------------------------------------------------------------------- // -void TMSServer::SetUpLinkSession(TBool aSession) +void TMSServer::SetUpLinkSession(const TBool aSession) { iUplinkSession = aSession; } @@ -244,6 +245,7 @@ TMSCallProxyLocal tmsCallSessionHandle; User::LeaveIfError(StartTMSCallServer(tmsCallSessionHandle)); aHandle = tmsCallSessionHandle; + TRACE_PRN_FN_EXT; } @@ -255,19 +257,19 @@ TInt TMSServer::StartTMSCallServer(TMSCallProxyLocal& aHandle) { TRACE_PRN_FN_ENT; - TInt status = KErrNone; + TInt status = TMS_RESULT_SUCCESS; TMSStartAndMonitorTMSCallThread* callServerThread = NULL; TRAP(status, callServerThread =TMSStartAndMonitorTMSCallThread::NewL( const_cast(this))); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { delete callServerThread; } else { status = iTMSCallServList.Append(callServerThread); - if (callServerThread && status == KErrNone) + if (callServerThread && status == TMS_RESULT_SUCCESS) { status = callServerThread->StartTMSCallServer(aHandle); TInt count = 0; @@ -312,10 +314,16 @@ // void TMSServer::StartRoutingNotifierL() { + TRACE_PRN_FN_ENT; + if (!iTarHandler) { + iTarHandlerCount = 0; iTarHandler = TMSTarEventHandler::NewL((const_cast (this))); } + iTarHandlerCount++; + + TRACE_PRN_FN_EXT; } // ----------------------------------------------------------------------------- @@ -325,8 +333,11 @@ // void TMSServer::CancelRoutingNotifier() { - delete iTarHandler; - iTarHandler = NULL; + if (--iTarHandlerCount <= 0) + { + delete iTarHandler; + iTarHandler = NULL; + } } // ----------------------------------------------------------------------------- @@ -336,13 +347,19 @@ // void TMSServer::StartCenRepHandlerL() { + TRACE_PRN_FN_ENT; + #ifdef _USE_TELEPHONY_CENREP_ if (!iAudioCenRepHandler) { - iAudioCenRepHandler = CSPAudioHandler::NewL( + iAudioCenRepHandlerCount = 0; + iAudioCenRepHandler = TMSCenRepAudioHandler::NewL( (const_cast (this))); } + iAudioCenRepHandlerCount++; #endif + + TRACE_PRN_FN_EXT; } // ----------------------------------------------------------------------------- @@ -352,8 +369,11 @@ // void TMSServer::CancelCenRepHandler() { - delete iAudioCenRepHandler; - iAudioCenRepHandler = NULL; + if (--iAudioCenRepHandlerCount <= 0) + { + delete iAudioCenRepHandler; + iAudioCenRepHandler = NULL; + } } // ----------------------------------------------------------------------------- @@ -364,11 +384,9 @@ TInt TMSServer::SetOutput(CSession2* /*sid*/, TInt output) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); - status = SendMessageToCallServ(TMS_ROUTING_OUTPUT_SET, output); - - if (status == KErrNone) + TInt status = SendMessageToCallServ(TMS_ROUTING_OUTPUT_SET, output); + if (status == TMS_RESULT_SUCCESS) { iCurrentRouting = output; } @@ -388,7 +406,7 @@ TUint output; TInt i = 0; - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); while (i < iTMSCallServList.Count()) { TMSStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i]; @@ -397,7 +415,7 @@ { status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( TMS_ROUTING_OUTPUT_GET, output); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { break; } @@ -406,9 +424,10 @@ } TPckgBuf p(output); aMessage.Write(0, p); - aMessage.Complete(KErrNone); + aMessage.Complete(TMS_RESULT_SUCCESS); + TRACE_PRN_FN_EXT; - return KErrNone; + return status; } // ----------------------------------------------------------------------------- @@ -419,9 +438,10 @@ TInt TMSServer::GetPreviousOutput(const RMessage2& aMessage) { TRACE_PRN_FN_ENT; + TUint output; TInt i = 0; - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); while (i < iTMSCallServList.Count()) { TMSStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i]; @@ -430,7 +450,7 @@ { status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( TMS_ROUTING_PREVIOUSOUTPUT_GET, output); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { break; } @@ -439,7 +459,8 @@ } TPckgBuf p(output); aMessage.Write(0, p); - aMessage.Complete(KErrNone); + aMessage.Complete(TMS_RESULT_SUCCESS); + TRACE_PRN_FN_EXT; return status; } @@ -464,7 +485,7 @@ { TRACE_PRN_FN_ENT; - TInt status = KErrNone; + TInt status = TMS_RESULT_SUCCESS; OutputVector outputs; HBufC8* buf = HBufC8::NewLC(KOutputsArraySize * sizeof(TUint32)); TPtr8 ptr = buf->Des(); @@ -483,7 +504,7 @@ { status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( TMS_ROUTING_AVAILABLE_OUTPUT_GET, args); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { break; } @@ -508,15 +529,17 @@ TInt TMSServer::GetMaxLevel(const RMessage2& aMessage) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); + + TInt status(TMS_RESULT_SUCCESS); TPckgBuf pckg; pckg() = iEffectSettings->MaxVolume(); - if (status == KErrNone) + if (status == TMS_RESULT_SUCCESS) { status = aMessage.Write(0, pckg); aMessage.Complete(status); } + TRACE_PRN_FN_EXT; return status; } @@ -529,7 +552,8 @@ TInt TMSServer::GetLevel(const RMessage2& aMessage) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); + + TInt status(TMS_RESULT_SUCCESS); TPckgBuf pckg; TInt volume; @@ -545,7 +569,7 @@ } pckg() = volume; - if (status == KErrNone) + if (status == TMS_RESULT_SUCCESS) { aMessage.Write(0, pckg); aMessage.Complete(status); @@ -563,11 +587,9 @@ TInt TMSServer::SetLevel(CSession2* /*sid*/, TBool tmsclient, TInt level) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); - status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_VOL_SET, level); - - if (status == KErrNone) + TInt status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_VOL_SET, level); + if (status == TMS_RESULT_SUCCESS) { switch (iCurrentRouting) { @@ -624,11 +646,11 @@ TInt TMSServer::GetMaxGain(const RMessage2& aMessage) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); + + TInt status(TMS_RESULT_SUCCESS); TPckgBuf pckg; - pckg() = iEffectSettings->MaxGain(); - if (status == KErrNone) + if (status == TMS_RESULT_SUCCESS) { status = aMessage.Write(0, pckg); aMessage.Complete(status); @@ -646,11 +668,11 @@ TInt TMSServer::GetGain(const RMessage2& aMessage) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); + + TInt status(TMS_RESULT_SUCCESS); TPckgBuf pckg; - pckg() = iEffectSettings->Gain(); - if (status == KErrNone) + if (status == TMS_RESULT_SUCCESS) { status = aMessage.Write(0, pckg); aMessage.Complete(status); @@ -668,11 +690,9 @@ TInt TMSServer::SetGain(CSession2* /*sid*/, TInt level) { TRACE_PRN_FN_ENT; - TInt status(KErrNone); - status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_GAIN_SET, level); - - if (status == KErrNone) + TInt status = SendMessageToCallServ(TMS_EFFECT_GLOBAL_GAIN_SET, level); + if (status == TMS_RESULT_SUCCESS) { iEffectSettings->SetGain(level); iSessionIter.SetToFirst(); @@ -700,6 +720,8 @@ TInt TMSServer::GetSupportedCodecs(const TMSStreamType strmType, RArray*& aCodecs) { + TRACE_PRN_FN_ENT; + if (strmType == TMS_STREAM_UPLINK) { aCodecs = &iUplCodecs; @@ -708,7 +730,9 @@ { aCodecs = &iDnlCodecs; } - return KErrNone; + + TRACE_PRN_FN_EXT; + return TMS_RESULT_SUCCESS; } // ----------------------------------------------------------------------------- @@ -718,7 +742,9 @@ // TInt TMSServer::SendMessageToCallServ(TInt func, TInt value) { - TInt status(KErrNone); + TRACE_PRN_FN_ENT; + + TInt status(TMS_RESULT_SUCCESS); TInt i = 0; while (i < iTMSCallServList.Count()) { @@ -735,7 +761,7 @@ { status = callThread->iTMSCallProxyLocal.SendToCallServer( func, value); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { break; } @@ -743,6 +769,8 @@ } i++; } + + TRACE_PRN_FN_EXT; return status; } @@ -753,7 +781,9 @@ // TInt TMSServer::SendMessageToCallServ(TInt func, TIpcArgs args) { - TInt status(KErrNone); + TRACE_PRN_FN_ENT; + + TInt status(TMS_RESULT_SUCCESS); TInt i = 0; while (i < iTMSCallServList.Count()) { @@ -770,7 +800,7 @@ { status = callThread->iTMSCallProxyLocal.SendToCallServer( func, args); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { break; } @@ -778,6 +808,8 @@ } i++; } + + TRACE_PRN_FN_EXT; return status; } @@ -788,6 +820,8 @@ // TInt TMSServer::NotifyTarClients(TRoutingMsgBufPckg routingpckg) { + TRACE_PRN_FN_ENT; + iCurrentRouting = routingpckg().iOutput; iSessionIter.SetToFirst(); TMSServerSession* serverSession = @@ -798,7 +832,9 @@ serverSession->HandleRoutingChange(routingpckg); serverSession = static_cast (iSessionIter++); } - return KErrNone; + + TRACE_PRN_FN_EXT; + return TMS_RESULT_SUCCESS; } // ----------------------------------------------------------------------------- @@ -819,7 +855,7 @@ TMSServer* server = TMSServer::NewL(); // Initialisation complete, now signal the client - RProcess::Rendezvous(KErrNone); + RProcess::Rendezvous(TMS_RESULT_SUCCESS); // Start the scheduler and wait for client requests CActiveScheduler::Start(); @@ -868,11 +904,13 @@ TMSServer* aServer) { TRACE_PRN_FN_ENT; + TMSStartAndMonitorTMSCallThread* self = new (ELeave) TMSStartAndMonitorTMSCallThread(aServer); CleanupStack::PushL(self); self->ConstructL(); CleanupStack::Pop(self); + TRACE_PRN_FN_EXT; return self; } @@ -898,7 +936,7 @@ { TRACE_PRN_FN_ENT; - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); TMSCallServerStartParam start(iTMSServer, iCallSrvrHndl); const TUidType serverUid(KNullUid, KNullUid, KUidTMSCallServerUid3); TThreadFunction serverFunc = TMSCallServer::StartThread; @@ -911,7 +949,7 @@ &start, EOwnerProcess); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { return status; } @@ -935,7 +973,7 @@ } User::WaitForRequest(reqStatus); // wait for start or death - if (reqStatus.Int() != KErrNone) + if (reqStatus.Int() != TMS_RESULT_SUCCESS) { iServerThread.Close(); iCallSrvrHndl.Close(); @@ -943,7 +981,7 @@ } status = aHndl.Open(iCallSrvrHndl); - if (status != KErrNone) + if (status != TMS_RESULT_SUCCESS) { iServerThread.Close(); iCallSrvrHndl.Close(); @@ -955,7 +993,7 @@ SetActive(); TRACE_PRN_FN_EXT; - return KErrNone; + return TMS_RESULT_SUCCESS; } // ----------------------------------------------------------------------------- @@ -995,6 +1033,7 @@ TInt TMSCallProxyLocal::Open(RServer2& aTMSCallServerHandle) { TRACE_PRN_FN_ENT; + TInt status(KErrNotSupported); status = CreateSession(aTMSCallServerHandle, TVersion(KTMSCallServerMajorVersionNumber, @@ -1013,7 +1052,7 @@ // TInt TMSCallProxyLocal::SendToCallServer(TInt aFunc, TUint value) { - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); status = SendReceive(aFunc, TIpcArgs(value)); return status; } @@ -1025,7 +1064,7 @@ // TInt TMSCallProxyLocal::SendToCallServer(TInt aFunc, TIpcArgs args) { - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); status = SendReceive(aFunc, args); return status; } @@ -1037,11 +1076,11 @@ // TInt TMSCallProxyLocal::ReceiveFromCallServer(TInt aFunc, TUint& value) { - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); TPckgBuf pckg; TIpcArgs args(&pckg); status = SendReceive(aFunc, args); - if (status == KErrNone) + if (status == TMS_RESULT_SUCCESS) { value = pckg(); } @@ -1055,7 +1094,7 @@ // TInt TMSCallProxyLocal::ReceiveFromCallServer(TInt aFunc, TIpcArgs args) { - TInt status(KErrNone); + TInt status(TMS_RESULT_SUCCESS); status = SendReceive(aFunc, args); return status; }