bool CCECProcessor::Transmit(const cec_command &data)
{
+ bool bReturn(false);
LogOutput(data);
- CCECAdapterMessagePtr output(new CCECAdapterMessage(data));
- return Transmit(output);
+ CCECAdapterMessage *output = new CCECAdapterMessage(data);
+ bReturn = Transmit(output);
+ delete output;
+
+ return bReturn;
}
-bool CCECProcessor::Transmit(CCECAdapterMessagePtr output)
+bool CCECProcessor::Transmit(CCECAdapterMessage *output)
{
bool bReturn(false);
CLockObject lock(&m_mutex);
return bReturn;
else
{
- output->condition.Wait(&output->mutex, 1000);
+ output->condition.Wait(&output->mutex);
if (output->state != ADAPTER_MESSAGE_STATE_SENT)
{
m_controller->AddLog(CEC_LOG_ERROR, "command was not sent");
m_controller->AddCommand(command);
}
+void CCECProcessor::AddKey(cec_keypress &key)
+{
+ m_controller->AddKey(key);
+}
+
void CCECProcessor::AddKey(void)
{
m_controller->AddKey();
bool CCECProcessor::SetAckMask(uint16_t iMask)
{
+ bool bReturn(false);
CStdString strLog;
strLog.Format("setting ackmask to %2x", iMask);
m_controller->AddLog(CEC_LOG_DEBUG, strLog.c_str());
- CCECAdapterMessagePtr output(new CCECAdapterMessage);
+ CCECAdapterMessage *output = new CCECAdapterMessage;
output->push_back(MSGSTART);
output->push_escaped(MSGCODE_SET_ACK_MASK);
output->push_escaped((uint8_t)iMask);
output->push_back(MSGEND);
- if (!Transmit(output))
- {
+ if ((bReturn = Transmit(output)) == false)
m_controller->AddLog(CEC_LOG_ERROR, "could not set the ackmask");
- return false;
- }
- return true;
+ delete output;
+
+ return bReturn;
}