TaoStatus TaoPhoneComponentAdaptor::getRingerInfo(TaoMessage& rMsg) { if (rMsg.getArgCnt()) { int index = atoi(rMsg.getArgList()); PsMsg msg(PsMsg::RINGER_GET_INFO, this, index, 0); mpPhoneTask->postMessage(msg); 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::setHookswState(TaoMessage& rMsg) { if (rMsg.getArgCnt()) { mHookswState = atoi(rMsg.getArgList()); PsMsg hookswMsg(PsMsg::HOOKSW_STATE, this, mHookswState, mHookswState); mpPhoneTask->postMessage(hookswMsg); 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::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; }
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; }
UtlBoolean TaoClientTask::receiveMsg(TaoMessage& rMsg) { TaoObjHandle appHandle = 0; appHandle = rMsg.getSocket(); // where the app pointer is stored if (appHandle) { OsProtectedEvent* pEvent; TaoObjHandle handle; UtlString argList; int data; pEvent = (OsProtectedEvent *)appHandle; handle = rMsg.getTaoObjHandle(); data = rMsg.getArgCnt(); argList = rMsg.getArgList(); pEvent->setIntData(data); data = rMsg.getCmd(); pEvent->setIntData2(data); pEvent->setStringData(argList); // If the event has already been signalled, clean up if(OS_ALREADY_SIGNALED == pEvent->signal(handle)) { OsProtectEventMgr* eventMgr = OsProtectEventMgr::getEventMgr(); eventMgr->release(pEvent); } return TRUE; } else { osPrintf("<<<< TaoClientTask::receiveMsg: no appHandle!! >>>>\n"); return FALSE; } }