PtStatus PtPhoneSpeaker::getNominalVolume(int& rVolume) { char buf[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buf, "%d", mGroupType); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::SPEAKER_GET_NOMINAL_VOLUME, 0, (TaoObjHandle)0, (TaoObjHandle)pe, 1, buf); mpClient->sendRequest(msg); intptr_t 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(rc); pe->getStringData((UtlString &)arg); #ifdef PTAPI_TEST intptr_t cmd; pe->getIntData2(cmd); assert(cmd == TaoMessage::SPEAKER_GET_NOMINAL_VOLUME); #endif mpEventMgr->release(pe); rVolume = atoi(arg); return PT_SUCCESS; }
PtStatus PtPhoneMicrophone::getGain(int& rGain) { char buf[16]; memset(buf, 0, 16); sprintf(buf, "%d", mGroupType); OsProtectedEvent *pe = mpEventMgr->alloc(); TaoMessage msg(TaoMessage::REQUEST_PHONECOMPONENT, TaoMessage::MIC_GET_GAIN, 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::MIC_GET_GAIN); #endif mpEventMgr->release(pe); TaoString value(arg, TAOMESSAGE_DELIMITER); rGain = atoi(value[1]); return PT_SUCCESS; }