fixed - don't wait for a response when sending a reply, so we don't block message...
[deb_libcec.git] / src / lib / adapter / Pulse-Eight / USBCECAdapterMessage.cpp
index 64efd062f5f58ab60a2666e4c6c82bab673cabb3..f5d07359f28d8f32c97567384c71748d28809522 100644 (file)
@@ -266,6 +266,7 @@ void CCECAdapterMessage::Clear(void)
   packet.Clear();
   lineTimeout         = 3;
   bNextByteIsEscaped  = false;
+  bFireAndForget      = false;
 }
 
 void CCECAdapterMessage::Shift(uint8_t iShiftBy)
@@ -377,18 +378,27 @@ bool CCECAdapterMessage::IsACK(void) const
       false;
 }
 
-bool CCECAdapterMessage::IsError(void) const
+bool CCECAdapterMessage::MessageCodeIsError(const cec_adapter_messagecode code)
 {
-  cec_adapter_messagecode code = Message();
   return (code == MSGCODE_HIGH_ERROR ||
-          code == MSGCODE_LOW_ERROR ||
-          code == MSGCODE_RECEIVE_FAILED ||
-          code == MSGCODE_COMMAND_REJECTED ||
-          code == MSGCODE_TRANSMIT_LINE_TIMEOUT ||
-          code == MSGCODE_TRANSMIT_FAILED_LINE ||
-          code == MSGCODE_TRANSMIT_FAILED_ACK ||
-          code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_DATA ||
-          code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE);
+           code == MSGCODE_LOW_ERROR ||
+           code == MSGCODE_RECEIVE_FAILED ||
+           code == MSGCODE_COMMAND_REJECTED ||
+           code == MSGCODE_TRANSMIT_LINE_TIMEOUT ||
+           code == MSGCODE_TRANSMIT_FAILED_LINE ||
+           code == MSGCODE_TRANSMIT_FAILED_ACK ||
+           code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_DATA ||
+           code == MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE);
+}
+
+bool CCECAdapterMessage::IsError(void) const
+{
+  return MessageCodeIsError(Message());
+}
+
+bool CCECAdapterMessage::ReplyIsError(void) const
+{
+  return MessageCodeIsError(Reply());
 }
 
 bool CCECAdapterMessage::NeedsRetry(void) const