📄 taoaddressadaptor.cpp
字号:
TaoObjHandle clientSocket = rMsg.getSocket(); TaoObjHandle objId = rMsg.getTaoObjHandle(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::CANCEL_FORWARDING, rMsg.getMsgID(), objId, clientSocket, 0, ""); delete[] pAddressForwards; if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetAddrListeners(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; int nItems = mpAddressListenerDb->numEntries(); int size = atoi(rMsg.getArgList()); int actual = ((size < nItems) ? size : nItems); TaoObjHandle *pAddressListeners; pAddressListeners = new TaoObjHandle[nItems]; mpAddressListenerDb->getActiveObjects(pAddressListeners, nItems); UtlString argList; char buff[MAXIMUM_INTEGER_STRING_LENGTH]; for (int i = 0; i < actual; i++) { sprintf(buff, "%d", (int)pAddressListeners[i]); argList += (UtlString) buff; if (i < (actual - 1)) { argList += TAOMESSAGE_DELIMITER; } } TaoObjHandle clientSocket = rMsg.getSocket(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::GET_ADDRESS_LISTENERS, rMsg.getMsgID(), nItems, clientSocket, actual, argList); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetCallListeners(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; int nItems = mpCallListenerDb->numEntries(); int size = atoi(rMsg.getArgList()); int actual = ((size < nItems) ? size : nItems); TaoObjHandle *pCallListeners; pCallListeners = new TaoObjHandle[nItems]; mpCallListenerDb->getActiveObjects(pCallListeners, nItems); UtlString argList; char buff[MAXIMUM_INTEGER_STRING_LENGTH]; for (int i = 0; i < actual; i++) { sprintf(buff, "%d", (int)pCallListeners[i]); argList += (UtlString) buff; if (i < (actual - 1)) { argList += TAOMESSAGE_DELIMITER; } } TaoObjHandle clientSocket = rMsg.getSocket(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::GET_CALL_LISTENERS, rMsg.getMsgID(), nItems, clientSocket, actual, argList); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetConnections(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; int nItems = mpConnectionDb->numEntries(); int size = atoi(rMsg.getArgList()); int actual = ((size < nItems) ? size : nItems); TaoObjHandle *pConnections; pConnections = new TaoObjHandle[nItems]; mpConnectionDb->getActiveObjects(pConnections, nItems); UtlString argList; char buff[MAXIMUM_INTEGER_STRING_LENGTH]; for (int i = 0; i < actual; i++) { sprintf(buff, "%d", (int)pConnections[i]); argList += (UtlString) buff; if (i < (actual - 1)) { argList += TAOMESSAGE_DELIMITER; } } TaoObjHandle clientSocket = rMsg.getSocket(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::GET_CONNECTIONS, rMsg.getMsgID(), nItems, clientSocket, actual, argList); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetDoNotDisturb(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_ADDRESS, TaoMessage::GET_DONOT_DISTURB, rMsg.getMsgID(), rTerminal, clientSocket, 0, ""); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetForwarding(TaoMessage& rMsg){ rMsg.setMsgSubType(TaoMessage::RESPONSE_ADDRESS); if (mpSvrTransport->postMessage(rMsg)) { return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetMsgWaiting(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_ADDRESS, TaoMessage::GET_MESSAGE_WAITING, rMsg.getMsgID(), rTerminal, clientSocket, 0, ""); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetName(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 0) return TAO_FAILURE; TaoObjHandle clientSocket = rMsg.getSocket(); TaoObjHandle objId = rMsg.getTaoObjHandle(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::GET_NAME, rMsg.getMsgID(), objId, clientSocket, 1, mName); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetOfferedTimeout(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 0) return TAO_FAILURE; TaoObjHandle clientSocket = rMsg.getSocket(); rMsg.getTaoObjHandle(); TaoObjHandle rTerminal = 0x00000099; // fake TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::GET_OFFERED_TIMEOUT, rMsg.getMsgID(), rTerminal, clientSocket, 0, ""); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetTerminals(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; int nItems = mpTerminalDb->numEntries(); int size = atoi(rMsg.getArgList()); int actual = ((size < nItems) ? size : nItems); TaoObjHandle *pTerminals; pTerminals = new TaoObjHandle[nItems]; mpTerminalDb->getActiveObjects(pTerminals, nItems); UtlString argList; char buff[MAXIMUM_INTEGER_STRING_LENGTH]; for (int i = 0; i < actual; i++) { sprintf(buff, "%d", (int)pTerminals[i]); argList += (UtlString) buff; if (i < (actual - 1)) { argList += TAOMESSAGE_DELIMITER; } } TaoObjHandle clientSocket = rMsg.getSocket(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS, TaoMessage::GET_TERMINALS, rMsg.getMsgID(), nItems, clientSocket, actual, argList); if (mpSvrTransport->postMessage(*pMsg)) { delete pMsg; return TAO_SUCCESS; } return TAO_FAILURE;}TaoStatus TaoAddressAdaptor::addressGetProvider(TaoMessage& rMsg){ int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; TaoObjHandle clientSocket = rMsg.getSocket(); rMsg.getTaoObjHandle(); TaoMessage* pMsg = new TaoMessage(TaoMessage::RESPONSE_ADDRESS,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -