?? ptaddress.cpp
字號:
PtStatus PtAddress::getCallListeners(PtCallListener* callListeners[], int size, int& nItems){ char buff[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buff, "%d", size); UtlString arg(buff); mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::GET_CALL_LISTENERS, transactionId, 0, (TaoObjHandle)pe, 1, arg); mpClient->sendRequest(msg); int items; if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)items); pe->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::GET_CALL_LISTENERS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::getConnections(PtConnection connections[], int size, int& nItems){ char buff[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buff, "%d", size); UtlString arg(buff); mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::GET_CONNECTIONS, transactionId, 0, (TaoObjHandle)pe, 1, arg); mpClient->sendRequest(msg); int items; if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)items); pe->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::GET_CONNECTIONS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::getDoNotDisturb(PtBoolean& rFlag){ rFlag = mbDoNotDisturb; return PT_SUCCESS;}PtStatus PtAddress::getForwarding(PtAddressForwarding forwards[], int size, int& nItems){ PtStatus ret = PT_SUCCESS; nItems = mAddressForwardCnt; mAddressForwardDbSem.acquire(); if (mAddressForwardCnt && mpAddressForwards) { if (size < nItems) nItems = size; for (int i = 0; i < nItems; i++) { forwards[i] = PtAddressForwarding(mpAddressForwards[i]); } } else if (nItems > 0) ret = PT_INVALID_STATE; mAddressForwardDbSem.release(); return ret;}PtStatus PtAddress::getMessageWaiting(PtBoolean& rFlag){ rFlag = mbMessageWaiting; return PT_SUCCESS;}PtStatus PtAddress::getOfferedTimeout(int& rMilliSecs){ rMilliSecs = mOfferedTimeout; return PT_SUCCESS;}PtStatus PtAddress::getTerminals(PtTerminal terms[], int size, int& nItems){ char buff[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buff, "%d", size); UtlString arg(buff); mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::GET_TERMINALS, transactionId, 0, (TaoObjHandle)pe, 1, arg); mpClient->sendRequest(msg); int items; if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)items); pe->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::GET_TERMINALS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::getProvider(PtProvider& rProvider){ mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); // formulate the message to be sent to the server, the format of the msg over // the wire is following: // TaoMessageType$D$TransactionID$D$ArgCnt$D$Arg1$D$Arg2........ // UtlString argList = (UtlString)m_strServer + (UtlString)TAOMESSAGE_DELIMITER + (UtlString)m_strPort; UtlString argList = ""; OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::GET_PROVIDER, transactionId, 0, //NULL (TaoObjHandle)pe, 2, argList); mpClient->sendRequest(msg); if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } int rc; pe->getEventData((int &)rc);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::GET_PROVIDER);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::numAddressListeners(int& count){ mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::NUM_ADDRESS_LISTENERS, transactionId, 0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)count);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::NUM_ADDRESS_LISTENERS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::numCallListeners(int& count){ mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::NUM_CALL_LISTENERS, transactionId, 0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); return PT_SUCCESS; if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)count);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::NUM_CALL_LISTENERS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::numConnections(int& count){ mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::NUM_CONNECTIONS, transactionId, 0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)count);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::NUM_CONNECTIONS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}PtStatus PtAddress::numForwards(int& count){ count = mAddressForwardCnt; return PT_SUCCESS;}PtStatus PtAddress::numTerminals(int& count){ mpTransactionCnt->add(); unsigned int transactionId = mpTransactionCnt->getRef(); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_ADDRESS, TaoMessage::NUM_TERMINALS, transactionId, 0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); if (OS_SUCCESS != pe->wait(msg.getCmd(), mTimeOut)) { mpClient->resetConnectionSocket(msg.getMsgID()); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pe->signal(0)) { mpEventMgr->release(pe); } return PT_BUSY; } pe->getEventData((int &)count);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::NUM_TERMINALS);#endif mpEventMgr->release(pe); return PT_SUCCESS;}/* ============================ INQUIRY =================================== *//* //////////////////////////// PROTECTED ///////////////////////////////// */// Protected constructor./* //////////////////////////// PRIVATE /////////////////////////////////// *//* ============================ FUNCTIONS ================================= */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -