⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taoterminalconnectionadaptor.cpp

📁 基于sipfoundy 公司开发的sipx协议API
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        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 + -