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

📄 taoterminaladaptor.cpp

📁 基于sipfoundy 公司开发的sipx协议API
💻 CPP
📖 第 1 页 / 共 3 页
字号:
        {                if (pTerminal)                {//                      ((PtTerminal *) pTerminal)->getTerminalListeners(rpTerminalListeners, size, nItems);                }        }        UtlString argList;    char buff[MAXIMUM_INTEGER_STRING_LENGTH];//      int actual = ((size < nItems) ? size : nItems);        for (int i = 0; i < size; i++)        {                unsigned int objId = mpObjectCnt->add();                sprintf(buff, "%d", objId);                argList += (UtlString) buff;                if (i < (size - 1))                {                        argList += TAOMESSAGE_DELIMITER;                }        }        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::GET_TERM_LISTENERS,                                                                        rMsg.getMsgID(),                                                                        size,                                                                        clientSocket,                                                                        size,                                                                        argList);        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalGetProvider(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 0)                return TAO_FAILURE;        TaoObjHandle clientSocket = rMsg.getSocket();        TaoObjHandle objId = rMsg.getTaoObjHandle();        TaoObjHandle pTerminal;//      PtProvider      rProvider;        if (TAO_NOT_FOUND != mpObjectDb->findValue(objId, pTerminal))        {                if (pTerminal)                {//                      ((PtTerminal *) pTerminal)->getProvider(rProvider);                        objId = mpObjectCnt->add();//                      mpObjectDb->insert((TaoObjHandle)objId, (TaoObjHandle)&rProvider);                }        }        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::GET_PROVIDER,                                                                        rMsg.getMsgID(),                                                                        objId,                                                                        clientSocket,                                                                        0,                                                                        "");        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalNumAddresses(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        UtlString thisTerminal = rMsg.getArgList();        UtlString terminalName;        terminalName.remove(0); // empty string        UtlString rNextKey;        UtlString rNextValue;        int nItems = 0;        while (OS_SUCCESS == mAddresses.getNext(terminalName, rNextKey, rNextValue))        {                terminalName = rNextKey;                if (!thisTerminal.compareTo(rNextKey, UtlString::ignoreCase))                {                        nItems++;                }        }    char buff[MAXIMUM_INTEGER_STRING_LENGTH];        sprintf(buff, "%d", nItems);        thisTerminal += TAOMESSAGE_DELIMITER + UtlString(buff);        rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMINAL);        rMsg.setArgCnt(2);        rMsg.setArgList(thisTerminal);        if (mpSvrTransport->postMessage(rMsg))                return TAO_SUCCESS;        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalNumCallListeners(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        TaoObjHandle clientSocket = rMsg.getSocket();        rMsg.getTaoObjHandle();        TaoObjHandle rTerminal = 0x00000099;    // fake        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::NUM_CALL_LISTENERS,                                                                        rMsg.getMsgID(),                                                                        rTerminal,                                                                        clientSocket,                                                                        1,                                                                        "2");        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalNumComponents(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMINAL);        rMsg.setCmd(TaoMessage::NUM_COMPONENTS);        // assert        (mpPhoneTask->numComponents((PsMsg&) rMsg));        if (mpSvrTransport->postMessage(rMsg))        {                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalNumTermListeners(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        TaoObjHandle clientSocket = rMsg.getSocket();        rMsg.getTaoObjHandle();        TaoObjHandle rTerminal = 0x00000099;    // fake        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::NUM_TERM_LISTENERS,                                                                        rMsg.getMsgID(),                                                                        rTerminal,                                                                        clientSocket,                                                                        1,                                                                        "3");        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalNumTermConnectionss(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        UtlString argList = rMsg.getArgList();        TaoString arg(argList, TAOMESSAGE_DELIMITER);        UtlString callId = arg[0];        UtlString address = arg[0];        int numConnections = 0;        mpCallMgrTask->getNumTerminalConnections(callId.data(),                                                                                        address.data(),                                                                                        numConnections);    char buff[MAXIMUM_INTEGER_STRING_LENGTH];    sprintf(buff, "%d", numConnections);        argList += TAOMESSAGE_DELIMITER + UtlString(buff);        rMsg.setMsgSubType(TaoMessage::RESPONSE_TERMINAL);        rMsg.setArgCnt(3);        rMsg.setArgList(argList);        if (mpSvrTransport->postMessage(rMsg))                return TAO_SUCCESS;        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalPickup(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 2)                return TAO_FAILURE;        TaoObjHandle clientSocket = rMsg.getSocket();        rMsg.getTaoObjHandle();        rMsg.getArgList();        TaoObjHandle rTerminal = 0x00000099;    // fake        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::PICKUP,                                                                        rMsg.getMsgID(),                                                                        rTerminal,                                                                        clientSocket,                                                                        1,                                                                        "501");        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalRemoveCallListener(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 2)                return TAO_FAILURE;        UtlString arg = UtlString("0");        if (mpListenerMgr)        {                argCnt = 0;                mpListenerMgr->removeEventListener(rMsg);        }        else        {                argCnt = 1;                arg = UtlString("-1");  // indicating dailure        }        TaoMessage*     pMsg = (TaoMessage*) &rMsg;        pMsg->setMsgSubType(TaoMessage::RESPONSE_TERMINAL);        pMsg->setArgCnt(argCnt);        pMsg->setArgList(arg);        if (mpSvrTransport->postMessage(*pMsg))                return TAO_SUCCESS;        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalRemoveTermListener(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 2)                return TAO_FAILURE;        UtlString arg = UtlString("0");        if (mpListenerMgr)        {                argCnt = 0;                mpListenerMgr->removeEventListener(rMsg);        }        else        {                argCnt = 1;                arg = UtlString("-1");  // indicating dailure        }        TaoMessage*     pMsg = (TaoMessage*) &rMsg;        pMsg->setMsgSubType(TaoMessage::RESPONSE_TERMINAL);        pMsg->setArgCnt(argCnt);        pMsg->setArgList(arg);        if (mpSvrTransport->postMessage(*pMsg))                return TAO_SUCCESS;        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalSetDoNotDisturb(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        TaoObjHandle clientSocket = rMsg.getSocket();        rMsg.getTaoObjHandle();        rMsg.getArgList();        TaoObjHandle rTerminal = 0x00000099;    // fake        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::SET_DONOT_DISTURB,                                                                        rMsg.getMsgID(),                                                                        rTerminal,                                                                        clientSocket,                                                                        0,                                                                        "");        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}TaoStatus TaoTerminalAdaptor::terminalSetCodecCPULimit(TaoMessage& rMsg){        int     argCnt = rMsg.getArgCnt();        if (argCnt != 1)                return TAO_FAILURE;        TaoObjHandle clientSocket = rMsg.getSocket();        rMsg.getTaoObjHandle();        int level = atoi(rMsg.getArgList());        TaoObjHandle rTerminal = 0x00000099;    // fake    mpCallMgrTask->setInboundCodecCPULimit(level) ;        TaoMessage*     pMsg = new TaoMessage(TaoMessage::RESPONSE_TERMINAL,                                                                        TaoMessage::SET_INBOUND_CODEC_CPU_LIMIT,                                                                        rMsg.getMsgID(),                                                                        rTerminal,                                                                        clientSocket,                                                                        0,                                                                        "");        if (mpSvrTransport->postMessage(*pMsg))        {                delete pMsg;                return TAO_SUCCESS;        }        return TAO_FAILURE;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -