ptphoneringer.cpp
来自「基于sipfoundy 公司开发的sipx协议API」· C++ 代码 · 共 470 行 · 第 1/2 页
CPP
470 行
mpClient->sendRequest(msg); UtlString arg; 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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::RINGER_GET_MAX_PATTERN_INDEX);#endif mpEventMgr->release(pe); rMaxIndex = atoi(arg); return PT_SUCCESS;}PtStatus PtPhoneRinger::getNumberOfRings(int& rNumRingCycles){ OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::RINGER_GET_NUMBER_OF_RINGS, 0, (TaoObjHandle)0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); UtlString arg; 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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::RINGER_GET_NUMBER_OF_RINGS);#endif mpEventMgr->release(pe); rNumRingCycles = atoi(arg); return PT_SUCCESS;}PtStatus PtPhoneRinger::getRingerInfo(int patternIndex, char*& rpInfo){ char buf[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buf, "%d", patternIndex); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::RINGER_GET_INFO, 0, (TaoObjHandle)0, (TaoObjHandle)pe, 1, buf); mpClient->sendRequest(msg); UtlString arg; 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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::RINGER_GET_INFO);#endif mpEventMgr->release(pe); if (rpInfo) { strcpy(rpInfo, arg.data()); return PT_SUCCESS; } return PT_RESOURCE_UNAVAILABLE;}PtStatus PtPhoneRinger::getRingerPattern(int& rPatternIndex){ OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::RINGER_GET_PATTERN, 0, (TaoObjHandle)0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); UtlString arg; 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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::RINGER_GET_PATTERN);#endif mpEventMgr->release(pe); rPatternIndex = atoi(arg); return PT_SUCCESS;}PtStatus PtPhoneRinger::getRingerVolume(int& rVolume){ OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::RINGER_GET_VOLUME, 0, (TaoObjHandle)0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); int rc; UtlString arg; 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 &)rc); pe->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::RINGER_GET_VOLUME);#endif mpEventMgr->release(pe); rVolume = atoi(arg); return PT_SUCCESS;}/* ============================ INQUIRY =================================== */PtStatus PtPhoneRinger::isRingerOn(PtBoolean& rIsOn){ OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::RINGER_IS_ON, 0, (TaoObjHandle)0, (TaoObjHandle)pe, 0, ""); mpClient->sendRequest(msg); UtlString arg; 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->getStringData((UtlString &)arg);#ifdef PTAPI_TEST int cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::RINGER_IS_ON);#endif mpEventMgr->release(pe); rIsOn = atoi(arg); return PT_SUCCESS;}/* //////////////////////////// PROTECTED ///////////////////////////////// *//* //////////////////////////// PRIVATE /////////////////////////////////// *//* ============================ FUNCTIONS ================================= */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?