TaoStatus TaoPhoneComponentAdaptor::getExtSpeakerNominalVolume(TaoMessage& rMsg) { int volume = 0; int groupType = atoi(rMsg.getArgList()); mpPhoneTask->taoGetNominalVolume(volume, groupType); if (volume > 10) volume = 10; if (volume < 0) volume = 0; char buff[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buff, "%d", volume); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); rMsg.setArgCnt(1); rMsg.setArgList(buff); if (mpSvrTransport->postMessage(rMsg)) { return TAO_SUCCESS; } return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getButtonInfo(TaoMessage& rMsg) { rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
// get feedback from ps, return to client via transport, used // by all get and set calls TaoStatus TaoPhoneComponentAdaptor::returnResult(TaoMessage& rMsg) { osPrintf("->>entering TaoPhoneComponentAdaptor:: returnResult<<-\n"); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getHookswState(TaoMessage& rMsg) { PsMsg hookswMsg(PsMsg::HOOKSW_GET_STATE, this, mHookswState, mHookswState); mpPhoneTask->postMessage(hookswMsg); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getDisplayColumns(TaoMessage& rMsg) { if (rMsg.getArgList()) { rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; } return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::setRingerPattern(TaoMessage& rMsg) { int index = atoi(rMsg.getArgList()); PsMsg msg(PsMsg::RINGER_SET_PATTERN, this, index, 0); mpPhoneTask->postMessage(msg); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getAssociatedPhoneLamp(TaoMessage& rMsg) { //// need work if (mpLamp) { rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; } return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::activateGroup(TaoMessage& rMsg) { int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; mpPhoneTask->activateGroup((PsMsg&) rMsg); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::setRingerVolume(TaoMessage& rMsg) { int volume = atoi(rMsg.getArgList()); mpPhoneTask->taoSetVolume(volume, PtComponentGroup::RINGER); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) { return TAO_SUCCESS; } return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::setLampMode(TaoMessage& rMsg) { TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); UtlString buttonInfo = arg[0]; int mode = atoi(arg[1]); PsMsg msg(PsMsg::LAMP_SET_MODE, this, mode, 0); msg.setStringParam1(buttonInfo.data()); mpPhoneTask->postMessage(msg); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::setMicGain(TaoMessage& rMsg) { if (rMsg.getArgCnt() != 2) return TAO_FAILURE; TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); int groupType = atoi(arg[0]); int gain = atoi(arg[1]); mpPhoneTask->taoSetMicGain(groupType, gain); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getDisplayContrast(TaoMessage& rMsg) { int argCnt = rMsg.getArgCnt(); if (argCnt != 1) return TAO_FAILURE; #ifdef _VXWORKS int nominal = 0; if (OS_SUCCESS == MpCodec_getLCDContrastRange(mLCDLow, mLCDHigh, nominal)) { mLCDContrast = MpCodec_getLCDContrast(); mLCDOffset = mLCDLow - 1; osPrintf("--- get LCD contrast level %d ---\n", mLCDContrast); } UtlString arg; char buff[MAXIMUM_INTEGER_STRING_LENGTH]; int level = mLCDContrast - mLCDOffset; if (level < 1) level = 1; sprintf(buff, "%d", level); arg = buff + TAOMESSAGE_DELIMITER; sprintf(buff, "%d", 1); arg += buff + TAOMESSAGE_DELIMITER; sprintf(buff, "%d", (mLCDHigh - mLCDOffset)); arg += buff + TAOMESSAGE_DELIMITER; sprintf(buff, "%d", (nominal - mLCDOffset)); arg += buff; rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); rMsg.setArgCnt(4); rMsg.setArgList(arg.data()); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; #endif return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::buttonDown(TaoMessage& rMsg) { mInfo = rMsg.getArgList(); int keyIndex = mpButtonTask->getButtonIndex(mInfo.data()); if (keyIndex >= 0) { mpButtonTask->postEvent(PsMsg::BUTTON_DOWN, this, keyIndex); } else rMsg.setObjHandle((TaoObjHandle)TAO_INVALID_ARGUMENT); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getRingerVolume(TaoMessage& rMsg) { int volume = 0; mpPhoneTask->taoGetVolume(volume, PtComponentGroup::RINGER); char buff[MAXIMUM_INTEGER_STRING_LENGTH]; sprintf(buff, "%d", volume); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); rMsg.setArgCnt(1); rMsg.setArgList(buff); if (mpSvrTransport->postMessage(rMsg)) { return TAO_SUCCESS; } return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::setRingerInfo(TaoMessage& rMsg) { TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); int index = atoi(arg[0]); UtlString info = arg[1]; if (info) { PsMsg msg(PsMsg::RINGER_SET_INFO, this, index, 0); msg.setStringParam1(info.data()); mpPhoneTask->postMessage(msg); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; } return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::setDisplayContrast(TaoMessage& rMsg) { int argCnt = rMsg.getArgCnt(); if (argCnt != 2) return TAO_FAILURE; #ifdef _VXWORKS TaoString arg(rMsg.getArgList(), TAOMESSAGE_DELIMITER); int level = atoi(arg[0]); if (!mLCDLow && !mLCDHigh) { int nominal; MpCodec_getLCDContrastRange(mLCDLow, mLCDHigh, nominal); mLCDOffset = mLCDLow - 1; } level += mLCDOffset; if (level < mLCDLow) level = mLCDLow; if (level > mLCDHigh) level = mLCDHigh; if (OS_SUCCESS == MpCodec_setLCDContrast(level)) { osPrintf("--- set LCD contrast level %d -> %d ---\n", mLCDContrast, level); mLCDContrast = level; rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) { return TAO_SUCCESS; } } #endif return TAO_FAILURE; }
TaoStatus TaoPhoneComponentAdaptor::getMicGain(TaoMessage& rMsg) { if (rMsg.getArgCnt() != 1) return TAO_FAILURE; UtlString arg = rMsg.getArgList(); int groupType = atoi(arg.data()); int gain = mpPhoneTask->taoGetMicGain(groupType); char buf[32]; sprintf(buf, "%d", gain); arg += TAOMESSAGE_DELIMITER + buf; rMsg.setArgCnt(2); rMsg.setArgList(arg); rMsg.setMsgSubType(TaoMessage::RESPONSE_PHONECOMPONENT); if (mpSvrTransport->postMessage(rMsg)) return TAO_SUCCESS; return TAO_FAILURE; }