📄 taoterminaladaptor.cpp
字号:
{ 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 + -