mmserv/tms/tmscallserver/src/tmscallsession.cpp
changeset 12 5a06f39ad45b
parent 0 71ca22bcf22a
child 14 80975da52420
equal deleted inserted replaced
0:71ca22bcf22a 12:5a06f39ad45b
   222             HandleRoutingGetPreviousOutputL(aMessage);
   222             HandleRoutingGetPreviousOutputL(aMessage);
   223             break;
   223             break;
   224         case TMS_ROUTING_AVAILABLE_OUTPUT_GET:
   224         case TMS_ROUTING_AVAILABLE_OUTPUT_GET:
   225             HandleRoutingGetAvailableOutputsL(aMessage);
   225             HandleRoutingGetAvailableOutputsL(aMessage);
   226             break;
   226             break;
       
   227         case TMS_DTMF_START:
       
   228             HandleDTMFStart(aMessage);
       
   229             break;
       
   230         case TMS_DTMF_STOP:
       
   231             HandleDTMFStop(aMessage);
       
   232             break;
       
   233         case TMS_DTMF_CONTINUE:
       
   234             HandleDTMFContinue(aMessage);
       
   235             break;
   227         default:
   236         default:
   228             User::Leave(TMS_RESULT_ILLEGAL_OPERATION);
   237             User::Leave(TMS_RESULT_ILLEGAL_OPERATION);
   229             break;
   238             break;
   230         }
   239         }
   231     TRACE_PRN_FN_EXT;
   240     TRACE_PRN_FN_EXT;
   242     gint status(TMS_RESULT_ALREADY_EXIST);
   251     gint status(TMS_RESULT_ALREADY_EXIST);
   243     if (!iCallAdpt)
   252     if (!iCallAdpt)
   244         {
   253         {
   245         // Get Call type
   254         // Get Call type
   246         gint callType = aMessage.Int0();
   255         gint callType = aMessage.Int0();
   247         status = CallAdpt::CreateCallL(callType, iCallAdpt);
   256         status = TMSCallAdpt::CreateCallL(callType, iCallAdpt);
   248         }
   257         }
   249     aMessage.Complete(status);
   258     aMessage.Complete(status);
   250     TRACE_PRN_FN_EXT;
   259     TRACE_PRN_FN_EXT;
   251     }
   260     }
   252 
   261 
  1107         CleanupStack::PopAndDestroy(outputbuf);
  1116         CleanupStack::PopAndDestroy(outputbuf);
  1108         }
  1117         }
  1109     aMessage.Complete(status);
  1118     aMessage.Complete(status);
  1110     }
  1119     }
  1111 
  1120 
       
  1121 void TMSCallSession::HandleDTMFStart(const RMessage2& aMessage)
       
  1122     {
       
  1123     TRACE_PRN_FN_ENT;
       
  1124     gint status(TMS_RESULT_DOES_NOT_EXIST);
       
  1125 
       
  1126     if (iCallAdpt)
       
  1127         {
       
  1128         TMSStreamType strmtype;
       
  1129         gint len = 0;
       
  1130         strmtype = (TMSStreamType) aMessage.Int0();
       
  1131         len = aMessage.GetDesLength(1);
       
  1132         HBufC* tone(NULL);
       
  1133         if (len > 0)
       
  1134             {
       
  1135             delete tone;
       
  1136             tone = NULL;
       
  1137             TRAP(status,tone = HBufC::NewL(len));
       
  1138             if (status == KErrNone)
       
  1139                 {
       
  1140                 TPtr ptr = tone->Des();
       
  1141                 status = aMessage.Read(1, ptr);
       
  1142                 TRACE_PRN_N(ptr);
       
  1143                 if (status == KErrNone)
       
  1144                     {
       
  1145                     status = iCallAdpt->StartDTMF(strmtype, ptr);
       
  1146                     }
       
  1147                 }
       
  1148             delete tone;
       
  1149             tone = NULL;
       
  1150             }
       
  1151         }
       
  1152 
       
  1153     aMessage.Complete(status);
       
  1154     TRACE_PRN_FN_EXT;
       
  1155     }
       
  1156 
       
  1157 void TMSCallSession::HandleDTMFStop(const RMessage2& aMessage)
       
  1158     {
       
  1159     TRACE_PRN_FN_ENT;
       
  1160     gint status(TMS_RESULT_DOES_NOT_EXIST);
       
  1161     if (iCallAdpt)
       
  1162         {
       
  1163         TMSStreamType streamtype;
       
  1164         streamtype = (TMSStreamType) aMessage.Int0();
       
  1165         status = iCallAdpt->StopDTMF(streamtype);
       
  1166         }
       
  1167     aMessage.Complete(status);
       
  1168     TRACE_PRN_FN_EXT;
       
  1169     }
       
  1170 
       
  1171 void TMSCallSession::HandleDTMFContinue(const RMessage2& aMessage)
       
  1172     {
       
  1173     TRACE_PRN_FN_ENT;
       
  1174     gint status(TMS_RESULT_DOES_NOT_EXIST);
       
  1175     if (iCallAdpt)
       
  1176         {
       
  1177         TBool continuesending;
       
  1178         continuesending = (TBool) aMessage.Int0();
       
  1179         status = iCallAdpt->ContinueDTMF(continuesending);
       
  1180         }
       
  1181     aMessage.Complete(status);
       
  1182     TRACE_PRN_FN_EXT;
       
  1183     }
       
  1184 
  1112 // End of file
  1185 // End of file