159 |
167 |
160 // If session count is zero, start server shutdown |
168 // If session count is zero, start server shutdown |
161 if (iSession == 0) |
169 if (iSession == 0) |
162 { |
170 { |
163 iShutdownTimer->SetDelay(TTimeIntervalMicroSeconds32( |
171 iShutdownTimer->SetDelay(TTimeIntervalMicroSeconds32( |
164 KShutDownDelayTime)); |
172 KTMSShutDownDelayTime)); |
165 } |
173 } |
166 |
174 |
167 TRACE_PRN_N1(_L("TMS->DNL: DropSession->Active Sessions: [%d]"), iSession); |
175 TRACE_PRN_N1(_L("TMS->DNL: DropSession->Active Sessions: [%d]"), iSession); |
168 } |
176 } |
169 |
177 |
170 // ----------------------------------------------------------------------------- |
178 // ----------------------------------------------------------------------------- |
171 // TMSServer::SessionCount |
179 // TMSServer::SessionCount |
172 // |
180 // |
173 // ----------------------------------------------------------------------------- |
181 // ----------------------------------------------------------------------------- |
174 // |
182 // |
175 TInt TMSServer::SessionCount() |
183 TInt TMSServer::SessionCount() const |
176 { |
184 { |
177 return iSession; |
185 return iSession; |
178 } |
186 } |
179 |
187 |
180 // ----------------------------------------------------------------------------- |
188 // ----------------------------------------------------------------------------- |
181 // TMSServer::SetDnLinkSession |
189 // TMSServer::SetDnLinkSession |
182 // |
190 // |
183 // ----------------------------------------------------------------------------- |
191 // ----------------------------------------------------------------------------- |
184 // |
192 // |
185 void TMSServer::SetDnLinkSession(TBool aSession) |
193 void TMSServer::SetDnLinkSession(const TBool aSession) |
186 { |
194 { |
187 iDnlinkSession = aSession; |
195 iDnlinkSession = aSession; |
188 } |
196 } |
189 |
197 |
190 // ----------------------------------------------------------------------------- |
198 // ----------------------------------------------------------------------------- |
191 // TMSServer::SetUpLinkSession |
199 // TMSServer::SetUpLinkSession |
192 // |
200 // |
193 // ----------------------------------------------------------------------------- |
201 // ----------------------------------------------------------------------------- |
194 // |
202 // |
195 void TMSServer::SetUpLinkSession(TBool aSession) |
203 void TMSServer::SetUpLinkSession(const TBool aSession) |
196 { |
204 { |
197 iUplinkSession = aSession; |
205 iUplinkSession = aSession; |
198 } |
206 } |
199 |
207 |
200 // ----------------------------------------------------------------------------- |
208 // ----------------------------------------------------------------------------- |
311 // |
320 // |
312 // ----------------------------------------------------------------------------- |
321 // ----------------------------------------------------------------------------- |
313 // |
322 // |
314 void TMSServer::StartRoutingNotifierL() |
323 void TMSServer::StartRoutingNotifierL() |
315 { |
324 { |
|
325 TRACE_PRN_FN_ENT; |
|
326 |
316 if (!iTarHandler) |
327 if (!iTarHandler) |
317 { |
328 { |
318 iTarHandler = CTarEventHandler::NewL((const_cast<TMSServer*> (this))); |
329 iTarHandlerCount = 0; |
319 } |
330 iTarHandler = TMSTarEventHandler::NewL((const_cast<TMSServer*> (this))); |
|
331 } |
|
332 iTarHandlerCount++; |
|
333 |
|
334 TRACE_PRN_FN_EXT; |
320 } |
335 } |
321 |
336 |
322 // ----------------------------------------------------------------------------- |
337 // ----------------------------------------------------------------------------- |
323 // TMSServer::CancelRoutingNotifier |
338 // TMSServer::CancelRoutingNotifier |
324 // |
339 // |
325 // ----------------------------------------------------------------------------- |
340 // ----------------------------------------------------------------------------- |
326 // |
341 // |
327 void TMSServer::CancelRoutingNotifier() |
342 void TMSServer::CancelRoutingNotifier() |
328 { |
343 { |
329 delete iTarHandler; |
344 if (--iTarHandlerCount <= 0) |
330 iTarHandler = NULL; |
345 { |
|
346 delete iTarHandler; |
|
347 iTarHandler = NULL; |
|
348 } |
331 } |
349 } |
332 |
350 |
333 // ----------------------------------------------------------------------------- |
351 // ----------------------------------------------------------------------------- |
334 // TMSServer::StartCenRepHandlerL |
352 // TMSServer::StartCenRepHandlerL |
335 // |
353 // |
336 // ----------------------------------------------------------------------------- |
354 // ----------------------------------------------------------------------------- |
337 // |
355 // |
338 void TMSServer::StartCenRepHandlerL() |
356 void TMSServer::StartCenRepHandlerL() |
339 { |
357 { |
|
358 TRACE_PRN_FN_ENT; |
|
359 |
340 #ifdef _USE_TELEPHONY_CENREP_ |
360 #ifdef _USE_TELEPHONY_CENREP_ |
341 if (!iAudioCenRepHandler) |
361 if (!iAudioCenRepHandler) |
342 { |
362 { |
343 iAudioCenRepHandler = CSPAudioHandler::NewL( |
363 iAudioCenRepHandlerCount = 0; |
|
364 iAudioCenRepHandler = TMSCenRepAudioHandler::NewL( |
344 (const_cast<TMSServer*> (this))); |
365 (const_cast<TMSServer*> (this))); |
345 } |
366 } |
|
367 iAudioCenRepHandlerCount++; |
346 #endif |
368 #endif |
|
369 |
|
370 TRACE_PRN_FN_EXT; |
347 } |
371 } |
348 |
372 |
349 // ----------------------------------------------------------------------------- |
373 // ----------------------------------------------------------------------------- |
350 // TMSServer::CancelCenRepHandler |
374 // TMSServer::CancelCenRepHandler |
351 // |
375 // |
352 // ----------------------------------------------------------------------------- |
376 // ----------------------------------------------------------------------------- |
353 // |
377 // |
354 void TMSServer::CancelCenRepHandler() |
378 void TMSServer::CancelCenRepHandler() |
355 { |
379 { |
356 delete iAudioCenRepHandler; |
380 if (--iAudioCenRepHandlerCount <= 0) |
357 iAudioCenRepHandler = NULL; |
381 { |
|
382 delete iAudioCenRepHandler; |
|
383 iAudioCenRepHandler = NULL; |
|
384 } |
|
385 } |
|
386 |
|
387 // ----------------------------------------------------------------------------- |
|
388 // TMSServer::StartDTMFNotifierL |
|
389 // |
|
390 // ----------------------------------------------------------------------------- |
|
391 // |
|
392 void TMSServer::StartDTMFNotifierL() |
|
393 { |
|
394 TRACE_PRN_FN_ENT; |
|
395 |
|
396 if (!iDTMFHandler) |
|
397 { |
|
398 iDTMFHandlerCount = 0; |
|
399 iDTMFHandler = TMSDtmfEventHandler::NewL( |
|
400 (const_cast<TMSServer*> (this))); |
|
401 } |
|
402 iDTMFHandlerCount++; |
|
403 |
|
404 TRACE_PRN_FN_EXT; |
|
405 } |
|
406 |
|
407 // ----------------------------------------------------------------------------- |
|
408 // TMSServer::CancelDTMFNotifier |
|
409 // |
|
410 // ----------------------------------------------------------------------------- |
|
411 // |
|
412 void TMSServer::CancelDTMFNotifier() |
|
413 { |
|
414 if (--iDTMFHandlerCount <= 0) |
|
415 { |
|
416 delete iDTMFHandler; |
|
417 iDTMFHandler = NULL; |
|
418 } |
358 } |
419 } |
359 |
420 |
360 // ----------------------------------------------------------------------------- |
421 // ----------------------------------------------------------------------------- |
361 // TMSServer::SetOutput |
422 // TMSServer::SetOutput |
362 // |
423 // |
363 // ----------------------------------------------------------------------------- |
424 // ----------------------------------------------------------------------------- |
364 // |
425 // |
365 TInt TMSServer::SetOutput(CSession2* /*sid*/, TInt output) |
426 TInt TMSServer::SetOutput(CSession2* /*sid*/, TInt output) |
366 { |
427 { |
367 TRACE_PRN_FN_ENT; |
428 TRACE_PRN_FN_ENT; |
368 TInt status(KErrNone); |
429 |
369 |
430 TInt status = SendMessageToCallServ(TMS_ROUTING_OUTPUT_SET, output); |
370 status = SendMessageToCallServ(TMS_ROUTING_OUTPUT_SET, output); |
431 if (status == TMS_RESULT_SUCCESS) |
371 |
|
372 if (status == KErrNone) |
|
373 { |
432 { |
374 iCurrentRouting = output; |
433 iCurrentRouting = output; |
375 } |
434 } |
376 |
435 |
377 TRACE_PRN_FN_EXT; |
436 TRACE_PRN_FN_EXT; |
387 { |
446 { |
388 TRACE_PRN_FN_ENT; |
447 TRACE_PRN_FN_ENT; |
389 |
448 |
390 TUint output; |
449 TUint output; |
391 TInt i = 0; |
450 TInt i = 0; |
392 TInt status(KErrNone); |
451 TInt status(TMS_RESULT_SUCCESS); |
393 while (i < iTMSCallServList.Count()) |
452 while (i < iTMSCallServList.Count()) |
394 { |
453 { |
395 CStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i]; |
454 TMSStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i]; |
396 |
455 |
397 if (callThread) |
456 if (callThread) |
398 { |
457 { |
399 status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( |
458 status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( |
400 TMS_ROUTING_OUTPUT_GET, output); |
459 TMS_ROUTING_OUTPUT_GET, output); |
401 if (status != KErrNone) |
460 if (status != TMS_RESULT_SUCCESS) |
402 { |
461 { |
403 break; |
462 break; |
404 } |
463 } |
405 } |
464 } |
406 i++; |
465 i++; |
407 } |
466 } |
408 TPckgBuf<TInt> p(output); |
467 TPckgBuf<TInt> p(output); |
409 aMessage.Write(0, p); |
468 aMessage.Write(0, p); |
410 aMessage.Complete(KErrNone); |
469 aMessage.Complete(TMS_RESULT_SUCCESS); |
411 TRACE_PRN_FN_EXT; |
470 |
412 return KErrNone; |
471 TRACE_PRN_FN_EXT; |
|
472 return status; |
413 } |
473 } |
414 |
474 |
415 // ----------------------------------------------------------------------------- |
475 // ----------------------------------------------------------------------------- |
416 // TMSServer::GetPreviousOutput |
476 // TMSServer::GetPreviousOutput |
417 // |
477 // |
418 // ----------------------------------------------------------------------------- |
478 // ----------------------------------------------------------------------------- |
419 // |
479 // |
420 TInt TMSServer::GetPreviousOutput(const RMessage2& aMessage) |
480 TInt TMSServer::GetPreviousOutput(const RMessage2& aMessage) |
421 { |
481 { |
422 TRACE_PRN_FN_ENT; |
482 TRACE_PRN_FN_ENT; |
|
483 |
423 TUint output; |
484 TUint output; |
424 TInt i = 0; |
485 TInt i = 0; |
425 TInt status(KErrNone); |
486 TInt status(TMS_RESULT_SUCCESS); |
426 while (i < iTMSCallServList.Count()) |
487 while (i < iTMSCallServList.Count()) |
427 { |
488 { |
428 CStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i]; |
489 TMSStartAndMonitorTMSCallThread* callThread = iTMSCallServList[i]; |
429 |
490 |
430 if (callThread) |
491 if (callThread) |
431 { |
492 { |
432 status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( |
493 status = callThread->iTMSCallProxyLocal.ReceiveFromCallServer( |
433 TMS_ROUTING_PREVIOUSOUTPUT_GET, output); |
494 TMS_ROUTING_PREVIOUSOUTPUT_GET, output); |
434 if (status != KErrNone) |
495 if (status != TMS_RESULT_SUCCESS) |
435 { |
496 { |
436 break; |
497 break; |
437 } |
498 } |
438 } |
499 } |
439 i++; |
500 i++; |
440 } |
501 } |
441 TPckgBuf<TInt> p(output); |
502 TPckgBuf<TInt> p(output); |
442 aMessage.Write(0, p); |
503 aMessage.Write(0, p); |
443 aMessage.Complete(KErrNone); |
504 aMessage.Complete(TMS_RESULT_SUCCESS); |
|
505 |
444 TRACE_PRN_FN_EXT; |
506 TRACE_PRN_FN_EXT; |
445 return status; |
507 return status; |
446 } |
508 } |
447 |
509 |
448 // ----------------------------------------------------------------------------- |
510 // ----------------------------------------------------------------------------- |
769 } |
840 } |
770 else |
841 else |
771 { |
842 { |
772 status = callThread->iTMSCallProxyLocal.SendToCallServer( |
843 status = callThread->iTMSCallProxyLocal.SendToCallServer( |
773 func, args); |
844 func, args); |
774 if (status != KErrNone) |
845 if (status != TMS_RESULT_SUCCESS) |
775 { |
846 { |
776 break; |
847 break; |
777 } |
848 } |
778 } |
849 } |
779 } |
850 } |
780 i++; |
851 i++; |
781 } |
852 } |
|
853 |
|
854 TRACE_PRN_FN_EXT; |
782 return status; |
855 return status; |
783 } |
856 } |
784 |
857 |
785 // ----------------------------------------------------------------------------- |
858 // ----------------------------------------------------------------------------- |
786 // TMSServer::NotifyTarClients |
859 // TMSServer::NotifyTarClients |
787 // |
860 // |
788 // ----------------------------------------------------------------------------- |
861 // ----------------------------------------------------------------------------- |
789 // |
862 // |
790 TInt TMSServer::NotifyTarClients(TRoutingMsgBufPckg routingpckg) |
863 TInt TMSServer::NotifyTarClients(TRoutingMsgBufPckg routingpckg) |
791 { |
864 { |
|
865 TRACE_PRN_FN_ENT; |
|
866 |
792 iCurrentRouting = routingpckg().iOutput; |
867 iCurrentRouting = routingpckg().iOutput; |
793 iSessionIter.SetToFirst(); |
868 iSessionIter.SetToFirst(); |
794 TMSServerSession* serverSession = |
869 TMSServerSession* serverSession = |
795 static_cast<TMSServerSession*> (iSessionIter++); |
870 static_cast<TMSServerSession*> (iSessionIter++); |
796 |
871 |
797 while (serverSession != NULL) |
872 while (serverSession != NULL) |
798 { |
873 { |
799 serverSession->HandleRoutingChange(routingpckg); |
874 serverSession->HandleRoutingChange(routingpckg); |
800 serverSession = static_cast<TMSServerSession*> (iSessionIter++); |
875 serverSession = static_cast<TMSServerSession*> (iSessionIter++); |
801 } |
876 } |
802 return KErrNone; |
877 |
|
878 TRACE_PRN_FN_EXT; |
|
879 return TMS_RESULT_SUCCESS; |
|
880 } |
|
881 |
|
882 // ----------------------------------------------------------------------------- |
|
883 // TMSServer::StartDTMF |
|
884 // |
|
885 // ----------------------------------------------------------------------------- |
|
886 // |
|
887 TInt TMSServer::StartDTMF(const RMessage2& aMessage) |
|
888 { |
|
889 TRACE_PRN_FN_ENT; |
|
890 |
|
891 TInt status(TMS_RESULT_SUCCESS); |
|
892 TInt len(0); |
|
893 TMSStreamType strmtype; |
|
894 |
|
895 strmtype = (TMSStreamType) aMessage.Int0(); |
|
896 len = aMessage.GetDesLength(1); |
|
897 HBufC* tone(NULL); |
|
898 if (len > 0) |
|
899 { |
|
900 delete tone; |
|
901 tone = NULL; |
|
902 TRAP(status,tone = HBufC::NewL(len)); |
|
903 if (status == TMS_RESULT_SUCCESS) |
|
904 { |
|
905 TPtr ptr = tone->Des(); |
|
906 status = aMessage.Read(1, ptr); |
|
907 TRACE_PRN_N(ptr); |
|
908 |
|
909 TIpcArgs args; |
|
910 args.Set(0, strmtype); |
|
911 args.Set(1, &ptr); |
|
912 status = SendMessageToCallServ(TMS_DTMF_START, args); |
|
913 delete tone; |
|
914 tone = NULL; |
|
915 } |
|
916 } |
|
917 aMessage.Complete(status); |
|
918 |
|
919 TRACE_PRN_FN_EXT; |
|
920 return status; |
|
921 } |
|
922 |
|
923 // ----------------------------------------------------------------------------- |
|
924 // TMSServer::StopDTMF |
|
925 // |
|
926 // ----------------------------------------------------------------------------- |
|
927 // |
|
928 TInt TMSServer::StopDTMF(const RMessage2& aMessage) |
|
929 { |
|
930 TRACE_PRN_FN_ENT; |
|
931 |
|
932 TInt status(TMS_RESULT_SUCCESS); |
|
933 TMSStreamType streamtype; |
|
934 streamtype = (TMSStreamType) aMessage.Int0(); |
|
935 status = SendMessageToCallServ(TMS_DTMF_STOP, streamtype); |
|
936 aMessage.Complete(status); |
|
937 |
|
938 TRACE_PRN_FN_EXT; |
|
939 return status; |
|
940 } |
|
941 |
|
942 // ----------------------------------------------------------------------------- |
|
943 // TMSServer::ContinueSendingDTMF |
|
944 // |
|
945 // ----------------------------------------------------------------------------- |
|
946 // |
|
947 TInt TMSServer::ContinueSendingDTMF(const RMessage2& aMessage) |
|
948 { |
|
949 TRACE_PRN_FN_ENT; |
|
950 |
|
951 TInt status(TMS_RESULT_SUCCESS); |
|
952 TBool continuesending; |
|
953 continuesending = (TBool) aMessage.Int0(); |
|
954 status = SendMessageToCallServ(TMS_DTMF_CONTINUE, continuesending); |
|
955 aMessage.Complete(status); |
|
956 |
|
957 TRACE_PRN_FN_EXT; |
|
958 return status; |
|
959 } |
|
960 |
|
961 // ----------------------------------------------------------------------------- |
|
962 // TMSServer::NotifyDtmfClients |
|
963 // |
|
964 // ----------------------------------------------------------------------------- |
|
965 // |
|
966 TInt TMSServer::NotifyDtmfClients(TmsMsgBufPckg dtmfpckg) |
|
967 { |
|
968 TRACE_PRN_FN_ENT; |
|
969 |
|
970 iSessionIter.SetToFirst(); |
|
971 TMSServerSession* serverSession = |
|
972 static_cast<TMSServerSession*> (iSessionIter++); |
|
973 |
|
974 while (serverSession != NULL) |
|
975 { |
|
976 serverSession->NotifyClient(dtmfpckg().iRequest, dtmfpckg().iStatus); |
|
977 serverSession = static_cast<TMSServerSession*> (iSessionIter++); |
|
978 } |
|
979 |
|
980 TRACE_PRN_FN_EXT; |
|
981 return TMS_RESULT_SUCCESS; |
|
982 } |
|
983 |
|
984 // ----------------------------------------------------------------------------- |
|
985 // TMSServer::InitRingTonePlayerL |
|
986 // |
|
987 // ----------------------------------------------------------------------------- |
|
988 // |
|
989 void TMSServer::InitRingTonePlayerL() |
|
990 { |
|
991 TRACE_PRN_FN_ENT; |
|
992 |
|
993 DeinitRingTonePlayer(); |
|
994 |
|
995 if (!iTMSRtPlayer) |
|
996 { |
|
997 iTMSRtPlayer = TMSRingTonePlayer::NewL(*this); |
|
998 } |
|
999 |
|
1000 TRACE_PRN_FN_EXT; |
|
1001 } |
|
1002 |
|
1003 // ----------------------------------------------------------------------------- |
|
1004 // TMSServer::DeinitRingTonePlayer |
|
1005 // |
|
1006 // ----------------------------------------------------------------------------- |
|
1007 // |
|
1008 void TMSServer::DeinitRingTonePlayer() |
|
1009 { |
|
1010 TRACE_PRN_FN_ENT; |
|
1011 |
|
1012 if (iTMSRtPlayer) |
|
1013 { |
|
1014 iTMSRtPlayer->DeinitRingTonePlayer(); |
|
1015 } |
|
1016 |
|
1017 delete iRtFile; |
|
1018 iRtFile = NULL; |
|
1019 delete iRtSequence; |
|
1020 iRtSequence = NULL; |
|
1021 delete iTtsText; |
|
1022 iTtsText = NULL; |
|
1023 |
|
1024 TRACE_PRN_FN_EXT; |
|
1025 } |
|
1026 |
|
1027 // ----------------------------------------------------------------------------- |
|
1028 // TMSServer::OpenRingTonePlayerFromFileL |
|
1029 // |
|
1030 // ----------------------------------------------------------------------------- |
|
1031 // |
|
1032 void TMSServer::OpenRingTonePlayerFromFileL(const RMessage2& aMessage) |
|
1033 { |
|
1034 TRACE_PRN_FN_ENT; |
|
1035 |
|
1036 gint status(TMS_RESULT_INVALID_ARGUMENT); |
|
1037 gint len = aMessage.GetDesLength(0); |
|
1038 if (len > 0) |
|
1039 { |
|
1040 InitRingTonePlayerL(); |
|
1041 |
|
1042 if (iTMSRtPlayer) |
|
1043 { |
|
1044 iRtFile = HBufC::NewL(len); |
|
1045 TPtr ptr = iRtFile->Des(); |
|
1046 aMessage.ReadL(0, ptr); |
|
1047 iTMSRtPlayer->CreateRingTonePlayerL(EPlayerAudio, *iRtFile); |
|
1048 len = aMessage.GetDesLength(1); |
|
1049 if (len > 0) |
|
1050 { |
|
1051 delete iTtsText; |
|
1052 iTtsText = NULL; |
|
1053 iTtsText = HBufC::NewL(len); |
|
1054 TPtr ptr1 = iTtsText->Des(); |
|
1055 aMessage.ReadL(1, ptr1); |
|
1056 iTMSRtPlayer->CreateTTSPlayerL(ptr1); |
|
1057 } |
|
1058 status = TMS_RESULT_SUCCESS; |
|
1059 } |
|
1060 } |
|
1061 aMessage.Complete(status); |
|
1062 |
|
1063 TRACE_PRN_FN_EXT; |
|
1064 } |
|
1065 |
|
1066 // ----------------------------------------------------------------------------- |
|
1067 // TMSServer::OpenRingTonePlayerFromProfileL |
|
1068 // |
|
1069 // ----------------------------------------------------------------------------- |
|
1070 // |
|
1071 void TMSServer::OpenRingTonePlayerFromProfileL(const RMessage2& aMessage) |
|
1072 { |
|
1073 TRACE_PRN_FN_ENT; |
|
1074 |
|
1075 gint status(TMS_RESULT_INVALID_ARGUMENT); |
|
1076 InitRingTonePlayerL(); |
|
1077 |
|
1078 if (iTMSRtPlayer) |
|
1079 { |
|
1080 iTMSRtPlayer->CreateRingTonePlayerL(EPlayerDefault); |
|
1081 gint len = aMessage.GetDesLength(1); |
|
1082 if (len > 0) |
|
1083 { |
|
1084 delete iTtsText; |
|
1085 iTtsText = NULL; |
|
1086 iTtsText = HBufC::NewL(len); |
|
1087 TPtr ptr = iTtsText->Des(); |
|
1088 aMessage.ReadL(1, ptr); |
|
1089 iTMSRtPlayer->CreateTTSPlayerL(ptr); |
|
1090 } |
|
1091 status = TMS_RESULT_SUCCESS; |
|
1092 } |
|
1093 aMessage.Complete(status); |
|
1094 |
|
1095 TRACE_PRN_FN_EXT; |
|
1096 } |
|
1097 |
|
1098 // ----------------------------------------------------------------------------- |
|
1099 // TMSServer::OpenRingToneSequencePlayerL |
|
1100 // |
|
1101 // ----------------------------------------------------------------------------- |
|
1102 // |
|
1103 void TMSServer::OpenRingToneSequencePlayerL(const RMessage2& aMessage) |
|
1104 { |
|
1105 TRACE_PRN_FN_ENT; |
|
1106 |
|
1107 gint status(TMS_RESULT_INVALID_ARGUMENT); |
|
1108 gint len = aMessage.GetDesLength(0); |
|
1109 if (len > 0) |
|
1110 { |
|
1111 InitRingTonePlayerL(); |
|
1112 iRtSequence = HBufC8::NewL(len); |
|
1113 TPtr8 ptr = iRtSequence->Des(); |
|
1114 aMessage.ReadL(0, ptr); |
|
1115 |
|
1116 if (iTMSRtPlayer) |
|
1117 { |
|
1118 iTMSRtPlayer->CreateCustomSequencePlayerL(ptr); |
|
1119 status = TMS_RESULT_SUCCESS; |
|
1120 } |
|
1121 } |
|
1122 aMessage.Complete(status); |
|
1123 |
|
1124 TRACE_PRN_FN_EXT; |
|
1125 } |
|
1126 |
|
1127 // ----------------------------------------------------------------------------- |
|
1128 // TMSServer::OpenRingToneBeepOnceL |
|
1129 // |
|
1130 // ----------------------------------------------------------------------------- |
|
1131 // |
|
1132 void TMSServer::OpenRingToneBeepOnceL() |
|
1133 { |
|
1134 TRACE_PRN_FN_ENT; |
|
1135 |
|
1136 InitRingTonePlayerL(); |
|
1137 |
|
1138 if (iTMSRtPlayer) |
|
1139 { |
|
1140 iTMSRtPlayer->CreateSequencePlayerL(EPlayerBeepOnce); |
|
1141 } |
|
1142 |
|
1143 TRACE_PRN_FN_EXT; |
|
1144 } |
|
1145 |
|
1146 // ----------------------------------------------------------------------------- |
|
1147 // TMSServer::DeinitRingTone |
|
1148 // |
|
1149 // ----------------------------------------------------------------------------- |
|
1150 // |
|
1151 void TMSServer::OpenRingToneSilentL() |
|
1152 { |
|
1153 TRACE_PRN_FN_ENT; |
|
1154 |
|
1155 InitRingTonePlayerL(); |
|
1156 |
|
1157 if (iTMSRtPlayer) |
|
1158 { |
|
1159 iTMSRtPlayer->CreateSequencePlayerL(EPlayerSilent); |
|
1160 } |
|
1161 |
|
1162 TRACE_PRN_FN_EXT; |
|
1163 } |
|
1164 |
|
1165 // ----------------------------------------------------------------------------- |
|
1166 // TMSServer::OpenRingToneUnsecureVoipL |
|
1167 // |
|
1168 // ----------------------------------------------------------------------------- |
|
1169 // |
|
1170 void TMSServer::OpenRingToneUnsecureVoipL() |
|
1171 { |
|
1172 TRACE_PRN_FN_ENT; |
|
1173 |
|
1174 InitRingTonePlayerL(); |
|
1175 |
|
1176 if (iTMSRtPlayer) |
|
1177 { |
|
1178 iTMSRtPlayer->CreateSequencePlayerL(EPlayerUnsecureVoIP); |
|
1179 } |
|
1180 |
|
1181 TRACE_PRN_FN_EXT; |
|
1182 } |
|
1183 |
|
1184 // ----------------------------------------------------------------------------- |
|
1185 // TMSServer::PlayRingToneL |
|
1186 // |
|
1187 // ----------------------------------------------------------------------------- |
|
1188 // |
|
1189 void TMSServer::PlayRingToneL() |
|
1190 { |
|
1191 TRACE_PRN_FN_ENT; |
|
1192 |
|
1193 if (iTMSRtPlayer) |
|
1194 { |
|
1195 iTMSRtPlayer->PlayRingToneL(); |
|
1196 } |
|
1197 else |
|
1198 { |
|
1199 User::Leave(TMS_RESULT_UNINITIALIZED_OBJECT); |
|
1200 } |
|
1201 |
|
1202 TRACE_PRN_FN_EXT; |
|
1203 } |
|
1204 |
|
1205 // ----------------------------------------------------------------------------- |
|
1206 // TMSServer::PauseVideoRingTone |
|
1207 // |
|
1208 // ----------------------------------------------------------------------------- |
|
1209 // |
|
1210 void TMSServer::PauseVideoRingTone() |
|
1211 { |
|
1212 StopRingTone(); |
|
1213 } |
|
1214 |
|
1215 // ----------------------------------------------------------------------------- |
|
1216 // TMSServer::StopRingTone |
|
1217 // |
|
1218 // ----------------------------------------------------------------------------- |
|
1219 // |
|
1220 void TMSServer::StopRingTone() |
|
1221 { |
|
1222 TRACE_PRN_FN_ENT; |
|
1223 |
|
1224 if (iTMSRtPlayer) |
|
1225 { |
|
1226 iTMSRtPlayer->StopPlaying(); |
|
1227 } |
|
1228 |
|
1229 TRACE_PRN_FN_EXT; |
|
1230 } |
|
1231 |
|
1232 // ----------------------------------------------------------------------------- |
|
1233 // TMSServer::MuteRingTone |
|
1234 // |
|
1235 // ----------------------------------------------------------------------------- |
|
1236 // |
|
1237 void TMSServer::MuteRingTone() |
|
1238 { |
|
1239 TRACE_PRN_FN_ENT; |
|
1240 |
|
1241 if (iTMSRtPlayer) |
|
1242 { |
|
1243 iTMSRtPlayer->MuteRingTone(); |
|
1244 } |
|
1245 |
|
1246 TRACE_PRN_FN_EXT; |
|
1247 } |
|
1248 |
|
1249 // ----------------------------------------------------------------------------- |
|
1250 // TMSServer::RtPlayerEvent |
|
1251 // |
|
1252 // ----------------------------------------------------------------------------- |
|
1253 // |
|
1254 void TMSServer::RtPlayerEvent(gint aEventType, gint aError) |
|
1255 { |
|
1256 TRACE_PRN_FN_ENT; |
|
1257 |
|
1258 iSessionIter.SetToFirst(); |
|
1259 TMSServerSession* ss = static_cast<TMSServerSession*> (iSessionIter++); |
|
1260 |
|
1261 while (ss != NULL) |
|
1262 { |
|
1263 ss->NotifyClient(aEventType, aError); |
|
1264 ss = static_cast<TMSServerSession*> (iSessionIter++); |
|
1265 } |
|
1266 |
|
1267 TRACE_PRN_FN_EXT; |
803 } |
1268 } |
804 |
1269 |
805 // ----------------------------------------------------------------------------- |
1270 // ----------------------------------------------------------------------------- |
806 // RunServerL |
1271 // RunServerL |
807 // |
1272 // |
832 |
1297 |
833 TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); |
1298 TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); |
834 } |
1299 } |
835 |
1300 |
836 // ----------------------------------------------------------------------------- |
1301 // ----------------------------------------------------------------------------- |
837 // CStartAndMonitorTMSCallThread::CStartAndMonitorTMSCallThread |
1302 // TMSStartAndMonitorTMSCallThread::TMSStartAndMonitorTMSCallThread |
838 // Perhaps we need to move this to a .cpp? |
1303 // Perhaps we need to move this to a .cpp? |
839 // ----------------------------------------------------------------------------- |
1304 // ----------------------------------------------------------------------------- |
840 // |
1305 // |
841 CStartAndMonitorTMSCallThread::CStartAndMonitorTMSCallThread( |
1306 TMSStartAndMonitorTMSCallThread::TMSStartAndMonitorTMSCallThread( |
842 TMSServer* aServer) : |
1307 TMSServer* aServer) : |
843 CActive(EPriorityStandard), |
1308 CActive(EPriorityStandard), |
844 iTMSServer(aServer) |
1309 iTMSServer(aServer) |
845 { |
1310 { |
846 TRACE_PRN_FN_ENT; |
1311 TRACE_PRN_FN_ENT; |
847 CActiveScheduler::Add(this); |
1312 CActiveScheduler::Add(this); |
848 TRACE_PRN_FN_EXT; |
1313 TRACE_PRN_FN_EXT; |
849 } |
1314 } |
850 |
1315 |
851 // ----------------------------------------------------------------------------- |
1316 // ----------------------------------------------------------------------------- |
852 // CStartAndMonitorTMSCallThread::~CStartAndMonitorTMSCallThread |
1317 // TMSStartAndMonitorTMSCallThread::~TMSStartAndMonitorTMSCallThread |
853 // |
1318 // |
854 // ----------------------------------------------------------------------------- |
1319 // ----------------------------------------------------------------------------- |
855 // |
1320 // |
856 CStartAndMonitorTMSCallThread::~CStartAndMonitorTMSCallThread() |
1321 TMSStartAndMonitorTMSCallThread::~TMSStartAndMonitorTMSCallThread() |
857 { |
1322 { |
858 TRACE_PRN_FN_ENT; |
1323 TRACE_PRN_FN_ENT; |
859 Cancel(); |
1324 Cancel(); |
860 TRACE_PRN_FN_EXT; |
1325 TRACE_PRN_FN_EXT; |
861 } |
1326 } |
862 |
1327 |
863 // ----------------------------------------------------------------------------- |
1328 // ----------------------------------------------------------------------------- |
864 // CStartAndMonitorTMSCallThread::NewL |
1329 // TMSStartAndMonitorTMSCallThread::NewL |
865 // |
1330 // |
866 // ----------------------------------------------------------------------------- |
1331 // ----------------------------------------------------------------------------- |
867 // |
1332 // |
868 CStartAndMonitorTMSCallThread* CStartAndMonitorTMSCallThread::NewL( |
1333 TMSStartAndMonitorTMSCallThread* TMSStartAndMonitorTMSCallThread::NewL( |
869 TMSServer* aServer) |
1334 TMSServer* aServer) |
870 { |
1335 { |
871 TRACE_PRN_FN_ENT; |
1336 TRACE_PRN_FN_ENT; |
872 CStartAndMonitorTMSCallThread* self = |
1337 |
873 new (ELeave) CStartAndMonitorTMSCallThread(aServer); |
1338 TMSStartAndMonitorTMSCallThread* self = |
|
1339 new (ELeave) TMSStartAndMonitorTMSCallThread(aServer); |
874 CleanupStack::PushL(self); |
1340 CleanupStack::PushL(self); |
875 self->ConstructL(); |
1341 self->ConstructL(); |
876 CleanupStack::Pop(self); |
1342 CleanupStack::Pop(self); |
|
1343 |
877 TRACE_PRN_FN_EXT; |
1344 TRACE_PRN_FN_EXT; |
878 return self; |
1345 return self; |
879 } |
1346 } |
880 |
1347 |
881 // ----------------------------------------------------------------------------- |
1348 // ----------------------------------------------------------------------------- |
882 // CStartAndMonitorTMSCallThread::ConstructL |
1349 // TMSStartAndMonitorTMSCallThread::ConstructL |
883 // |
1350 // |
884 // ----------------------------------------------------------------------------- |
1351 // ----------------------------------------------------------------------------- |
885 // |
1352 // |
886 void CStartAndMonitorTMSCallThread::ConstructL() |
1353 void TMSStartAndMonitorTMSCallThread::ConstructL() |
887 { |
1354 { |
888 TRACE_PRN_FN_ENT; |
1355 TRACE_PRN_FN_ENT; |
889 TRACE_PRN_FN_EXT; |
1356 TRACE_PRN_FN_EXT; |
890 } |
1357 } |
891 |
1358 |
892 // ----------------------------------------------------------------------------- |
1359 // ----------------------------------------------------------------------------- |
893 // CStartAndMonitorTMSCallThread::StartTMSCallServer |
1360 // TMSStartAndMonitorTMSCallThread::StartTMSCallServer |
894 // |
1361 // |
895 // ----------------------------------------------------------------------------- |
1362 // ----------------------------------------------------------------------------- |
896 // |
1363 // |
897 TInt CStartAndMonitorTMSCallThread::StartTMSCallServer(TMSCallProxyLocal& aHndl) |
1364 TInt TMSStartAndMonitorTMSCallThread::StartTMSCallServer( |
898 { |
1365 TMSCallProxyLocal& aHndl) |
899 TRACE_PRN_FN_ENT; |
1366 { |
900 |
1367 TRACE_PRN_FN_ENT; |
901 TInt status(KErrNone); |
1368 |
|
1369 TInt status(TMS_RESULT_SUCCESS); |
902 TMSCallServerStartParam start(iTMSServer, iCallSrvrHndl); |
1370 TMSCallServerStartParam start(iTMSServer, iCallSrvrHndl); |
903 const TUidType serverUid(KNullUid, KNullUid, KUidTMSCallServerUid3); |
1371 const TUidType serverUid(KNullUid, KNullUid, KUidTMSCallServerUid3); |
904 TThreadFunction serverFunc = TMSCallServer::StartThread; |
1372 TThreadFunction serverFunc = TMSCallServer::StartThread; |
905 |
1373 |
906 status = iServerThread.Create(_L(""), |
1374 status = iServerThread.Create(_L(""), |
933 iServerThread.Resume(); |
1401 iServerThread.Resume(); |
934 // Server will call the reciprocal static synchronise call |
1402 // Server will call the reciprocal static synchronise call |
935 } |
1403 } |
936 |
1404 |
937 User::WaitForRequest(reqStatus); // wait for start or death |
1405 User::WaitForRequest(reqStatus); // wait for start or death |
938 if (reqStatus.Int() != KErrNone) |
1406 if (reqStatus.Int() != TMS_RESULT_SUCCESS) |
939 { |
1407 { |
940 iServerThread.Close(); |
1408 iServerThread.Close(); |
941 iCallSrvrHndl.Close(); |
1409 iCallSrvrHndl.Close(); |
942 return reqStatus.Int(); |
1410 return reqStatus.Int(); |
943 } |
1411 } |
944 status = aHndl.Open(iCallSrvrHndl); |
1412 status = aHndl.Open(iCallSrvrHndl); |
945 |
1413 |
946 if (status != KErrNone) |
1414 if (status != TMS_RESULT_SUCCESS) |
947 { |
1415 { |
948 iServerThread.Close(); |
1416 iServerThread.Close(); |
949 iCallSrvrHndl.Close(); |
1417 iCallSrvrHndl.Close(); |
950 return status; |
1418 return status; |
951 } |
1419 } |
952 aHndl.ShareProtected(); |
1420 aHndl.ShareProtected(); |
|
1421 iStatus = KRequestPending; |
953 iServerThread.Logon(iStatus); |
1422 iServerThread.Logon(iStatus); |
954 SetActive(); |
1423 SetActive(); |
955 |
1424 |
956 TRACE_PRN_FN_EXT; |
1425 TRACE_PRN_FN_EXT; |
957 return KErrNone; |
1426 return TMS_RESULT_SUCCESS; |
958 } |
1427 } |
959 |
1428 |
960 // ----------------------------------------------------------------------------- |
1429 // ----------------------------------------------------------------------------- |
961 // CStartAndMonitorTMSCallThread::RunL |
1430 // TMSStartAndMonitorTMSCallThread::RunL |
962 // From CActive |
1431 // From CActive |
963 // ----------------------------------------------------------------------------- |
1432 // ----------------------------------------------------------------------------- |
964 // |
1433 // |
965 void CStartAndMonitorTMSCallThread::RunL() |
1434 void TMSStartAndMonitorTMSCallThread::RunL() |
966 { |
1435 { |
967 TRACE_PRN_FN_ENT; |
1436 TRACE_PRN_FN_ENT; |
968 iServerThread.Close(); |
1437 iServerThread.Close(); |
969 //NOTE: This is causing a panic when closing down tms server. |
1438 //NOTE: This is causing a panic when closing down TMS server. |
970 //iCallSrvrHndl.Close(); |
1439 //iCallSrvrHndl.Close(); |
971 TRACE_PRN_FN_EXT; |
1440 TRACE_PRN_FN_EXT; |
972 } |
1441 } |
973 |
1442 |
974 // ----------------------------------------------------------------------------- |
1443 // ----------------------------------------------------------------------------- |
975 // CStartAndMonitorTMSCallThread::DoCancel |
1444 // TMSStartAndMonitorTMSCallThread::DoCancel |
976 // From CActive |
1445 // From CActive |
977 // ----------------------------------------------------------------------------- |
1446 // ----------------------------------------------------------------------------- |
978 // |
1447 // |
979 void CStartAndMonitorTMSCallThread::DoCancel() |
1448 void TMSStartAndMonitorTMSCallThread::DoCancel() |
980 { |
1449 { |
981 TRACE_PRN_FN_ENT; |
1450 TRACE_PRN_FN_ENT; |
982 iServerThread.LogonCancel(iStatus); |
1451 if (iServerThread.Handle()) |
|
1452 { |
|
1453 iServerThread.LogonCancel(iStatus); |
|
1454 User::WaitForRequest(iStatus); |
|
1455 } |
983 TRACE_PRN_FN_EXT; |
1456 TRACE_PRN_FN_EXT; |
984 } |
1457 } |
985 |
1458 |
986 // ----------------------------------------------------------------------------- |
1459 // ----------------------------------------------------------------------------- |
987 // TMSCallProxyLocal::Open |
1460 // TMSCallProxyLocal::Open |
988 // Perhaps we need to move this to a .cpp? |
1461 // Perhaps we need to move this to a .cpp? |
989 // ----------------------------------------------------------------------------- |
1462 // ----------------------------------------------------------------------------- |
990 TInt TMSCallProxyLocal::Open(RServer2& aTMSCallServerHandle) |
1463 TInt TMSCallProxyLocal::Open(RServer2& aTMSCallServerHandle) |
991 { |
1464 { |
992 TRACE_PRN_FN_ENT; |
1465 TRACE_PRN_FN_ENT; |
|
1466 |
993 TInt status(KErrNotSupported); |
1467 TInt status(KErrNotSupported); |
994 status = CreateSession(aTMSCallServerHandle, |
1468 status = CreateSession(aTMSCallServerHandle, |
995 TVersion(KTMSCallServerMajorVersionNumber, |
1469 TVersion(KTMSCallServerMajorVersionNumber, |
996 KTMSCallServerMinorVersionNumber, |
1470 KTMSCallServerMinorVersionNumber, |
997 KTMSCallServerBuildVersionNumber), |
1471 KTMSCallServerBuildVersionNumber), |