📄 taoterminalconnectionadaptor.cpp
字号:
UtlString callId = arg[0]; UtlString address = arg[1]; int numConnections = 0; mpCallMgrTask->getNumConnections(callId.data(), numConnections); UtlString *addresses; addresses = new UtlString[numConnections]; UtlBoolean found = FALSE; if (addresses) { int maxConnections = numConnections; mpCallMgrTask->getConnections(callId.data(), maxConnections, numConnections, addresses); if (numConnections > maxConnections) numConnections = maxConnections; for (int i = 0; i< numConnections; i++) { if (!address.compareTo(addresses[i], UtlString::ignoreCase)) { found = TRUE; break; } } rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (found) { rMsg.setArgCnt(1); rMsg.setArgList(callId); } else { rMsg.setArgCnt(0); // not found rMsg.setArgList(""); } delete[] addresses; if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::termConnectionHold(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 3) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); UtlString terminal = arg[0]; UtlString address = arg[1]; UtlString callId = arg[2]; mpCallMgrTask->holdTerminalConnection(callId.data(), address.data(), terminal.data()); osPrintf(" termConnectionHold: callId = %s, address = %s, terminal = %s", callId.data(), address.data(), terminal.data()); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::termConnectionUnhold(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 3) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); UtlString terminal = arg[0]; UtlString address = arg[1]; UtlString callId = arg[2]; mpCallMgrTask->unholdTerminalConnection(callId.data(), address.data(), terminal.data()); osPrintf(" termConnectionUnhold: callId = %s, address = %s, terminal = %s", callId.data(), address.data(), terminal.data()); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::startTone(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); UtlString locale; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); int toneId = atoi(arg[0]); int local = atoi(arg[1]); int remote = atoi(arg[2]); UtlString callId = arg[3]; if (argCnt == 5) { locale.append(arg[4]); } mpCallMgrTask->toneStart(callId, toneId, local, remote); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::stopTone(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; mpCallMgrTask->toneStop(rMsg.getArgList()); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::playFileName(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 5) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); UtlString fileUrl = arg[0]; int repeat = atoi(arg[1]); int local = atoi(arg[2]); int remote = atoi(arg[3]); UtlString callId = arg[4]; mpCallMgrTask->audioPlay(callId, fileUrl, repeat, local, remote); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::playFileURL(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 5) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); UtlString audioUrl = arg[0]; int repeat = atoi(arg[1]); int local = atoi(arg[2]); int remote = atoi(arg[3]); UtlString callId = arg[4]; mpCallMgrTask->audioPlay(callId, audioUrl, repeat, local, remote); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::stopPlay(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; mpCallMgrTask->audioStop(rMsg.getArgList()); rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::createPlayer(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 4) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); MpStreamPlayer** ppPlayer = (MpStreamPlayer**) atoi(arg[0]) ; const char* szStream = arg[1] ; int flags = atoi(arg[2]) ; const char* szCallId = arg[3] ; // TO_BE_REMOVED mpCallMgrTask->createPlayer(MpPlayer::STREAM_PLAYER, szCallId, szStream, flags, ppPlayer) ; rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::destroyPlayer(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 2) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); MpStreamPlayer* pPlayer = (MpStreamPlayer*) atoi(arg[0]) ; const char* szCallId = arg[1] ;// mpCallMgrTask->destroyPlayer(MpPlayer::STREAM_PLAYER, szCallId, pPlayer) ; rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::createPlaylistPlayer(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 2) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); MpStreamPlaylistPlayer** ppPlayer = (MpStreamPlaylistPlayer**) atoi(arg[0]) ; const char* szCallId = arg[1] ; // TO_BE_REMOVED mpCallMgrTask->createPlayer(MpPlayer::STREAM_PLAYLIST_PLAYER, szCallId, NULL, 0, (MpStreamPlayer **)ppPlayer) ; rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::destroyPlaylistPlayer(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 2) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); MpStreamPlaylistPlayer* pPlayer = (MpStreamPlaylistPlayer*) atoi(arg[0]) ; const char* szCallId = arg[1] ; // TO_BE_REMOVED mpCallMgrTask->destroyPlayer(MpPlayer::STREAM_PLAYLIST_PLAYER, szCallId, (MpStreamPlayer *)pPlayer) ; rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}TaoStatus TaoTerminalConnectionAdaptor::isLocal(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 3) return TAO_FAILURE; UtlString argList = rMsg.getArgList(); TaoString arg(argList, TAOMESSAGE_DELIMITER); UtlString callId = arg[0]; UtlString address = arg[1]; UtlString terminal = arg[2]; UtlBoolean local = mpCallMgrTask->isTerminalConnectionLocal(callId.data(), address.data(), terminal.data()); if (!local) { rMsg.setArgCnt(4); argList += TAOMESSAGE_DELIMITER + (UtlString) "FALSE"; rMsg.setArgList(argList); } rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMCONNECTION); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -