mmserv/tms/tmscallserver/src/tmscallsession.cpp
changeset 42 1fa3fb47b1e3
parent 32 94fc26b6e006
child 53 eabc8c503852
equal deleted inserted replaced
32:94fc26b6e006 42:1fa3fb47b1e3
   223             HandleRoutingGetPreviousOutputL(aMessage);
   223             HandleRoutingGetPreviousOutputL(aMessage);
   224             break;
   224             break;
   225         case TMS_ROUTING_AVAILABLE_OUTPUT_GET:
   225         case TMS_ROUTING_AVAILABLE_OUTPUT_GET:
   226             HandleRoutingGetAvailableOutputsL(aMessage);
   226             HandleRoutingGetAvailableOutputsL(aMessage);
   227             break;
   227             break;
   228         case TMS_DTMF_START:
   228         case TMS_GET_ACTIVE_CALL_PARAMS:
   229             HandleDTMFStart(aMessage);
   229             HandleGetActiveCallL(aMessage);
   230             break;
       
   231         case TMS_DTMF_STOP:
       
   232             HandleDTMFStop(aMessage);
       
   233             break;
       
   234         case TMS_DTMF_CONTINUE:
       
   235             HandleDTMFContinue(aMessage);
       
   236             break;
   230             break;
   237         default:
   231         default:
   238             User::Leave(TMS_RESULT_ILLEGAL_OPERATION);
   232             User::Leave(TMS_RESULT_ILLEGAL_OPERATION);
   239             break;
   233             break;
   240         }
   234         }
  1111         aMessage.WriteL(0, countpkg);
  1105         aMessage.WriteL(0, countpkg);
  1112         aMessage.WriteL(1, outputbuf->Ptr(0));
  1106         aMessage.WriteL(1, outputbuf->Ptr(0));
  1113         CleanupStack::PopAndDestroy(outputbuf);
  1107         CleanupStack::PopAndDestroy(outputbuf);
  1114         }
  1108         }
  1115     aMessage.Complete(status);
  1109     aMessage.Complete(status);
  1116     }
  1110     TRACE_PRN_FN_EXT;
  1117 
  1111     }
  1118 void TMSCallSession::HandleDTMFStart(const RMessage2& aMessage)
  1112 
  1119     {
  1113 void TMSCallSession::HandleGetActiveCallL(const RMessage2& aMessage)
  1120     TRACE_PRN_FN_ENT;
  1114     {
  1121     gint status(TMS_RESULT_DOES_NOT_EXIST);
  1115     gint status(TMS_RESULT_DOES_NOT_EXIST);
  1122 
  1116     TMSCallType callType;
  1123     if (iCallAdpt)
  1117     gboolean active(FALSE);
  1124         {
  1118     if (iCallAdpt)
  1125         TMSStreamType strmtype;
  1119         {
  1126         gint len = 0;
  1120         iCallAdpt->GetCallType(callType);
  1127         strmtype = (TMSStreamType) aMessage.Int0();
  1121         active = iCallAdpt->IsUplActivated();
  1128         len = aMessage.GetDesLength(1);
  1122         TmsCallMsgBufPckg p;
  1129         HBufC* tone(NULL);
  1123         p().iInt = (gint) callType;
  1130         if (len > 0)
  1124         p().iBool = active;
  1131             {
  1125         aMessage.WriteL(0, p);
  1132             TRAP(status,tone = HBufC::NewL(len));
  1126         status = TMS_RESULT_SUCCESS;
  1133             if (status == KErrNone)
  1127         }
  1134                 {
  1128     aMessage.Complete(status);
  1135                 TPtr ptr = tone->Des();
  1129     }
  1136                 status = aMessage.Read(1, ptr);
  1130 
  1137                 TRACE_PRN_N(ptr);
       
  1138                 if (status == KErrNone)
       
  1139                     {
       
  1140                     status = iCallAdpt->StartDTMF(strmtype, ptr);
       
  1141                     }
       
  1142                 }
       
  1143             delete tone;
       
  1144             tone = NULL;
       
  1145             }
       
  1146         }
       
  1147 
       
  1148     aMessage.Complete(status);
       
  1149     TRACE_PRN_FN_EXT;
       
  1150     }
       
  1151 
       
  1152 void TMSCallSession::HandleDTMFStop(const RMessage2& aMessage)
       
  1153     {
       
  1154     TRACE_PRN_FN_ENT;
       
  1155     gint status(TMS_RESULT_DOES_NOT_EXIST);
       
  1156     if (iCallAdpt)
       
  1157         {
       
  1158         TMSStreamType streamtype;
       
  1159         streamtype = (TMSStreamType) aMessage.Int0();
       
  1160         status = iCallAdpt->StopDTMF(streamtype);
       
  1161         }
       
  1162     aMessage.Complete(status);
       
  1163     TRACE_PRN_FN_EXT;
       
  1164     }
       
  1165 
       
  1166 void TMSCallSession::HandleDTMFContinue(const RMessage2& aMessage)
       
  1167     {
       
  1168     TRACE_PRN_FN_ENT;
       
  1169     gint status(TMS_RESULT_DOES_NOT_EXIST);
       
  1170     if (iCallAdpt)
       
  1171         {
       
  1172         TBool continuesending;
       
  1173         continuesending = (TBool) aMessage.Int0();
       
  1174         status = iCallAdpt->ContinueDTMF(continuesending);
       
  1175         }
       
  1176     aMessage.Complete(status);
       
  1177     TRACE_PRN_FN_EXT;
       
  1178     }
       
  1179 
       
  1180 // End of file