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

📄 taoaddressadaptor.cpp

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