cec: handle bus scan from LG TVs
[deb_libcec.git] / src / lib / implementations / SLCommandHandler.cpp
index 40c0066ad3d400f0467a8ac956f32b43e5b17cc3..62e70d83e53bae1781012875f9e2075a9b161081 100644 (file)
@@ -37,7 +37,8 @@
 using namespace CEC;
 
 CSLCommandHandler::CSLCommandHandler(CCECBusDevice *busDevice) :
-    CCECCommandHandler(busDevice)
+    CCECCommandHandler(busDevice),
+    m_bAwaitingReceiveFailed(false)
 {
 }
 
@@ -88,3 +89,21 @@ bool CSLCommandHandler::HandleCommand(const cec_command &command)
 
   return bHandled;
 }
+
+
+void CSLCommandHandler::HandlePoll(const cec_logical_address iInitiator, const cec_logical_address iDestination)
+{
+  CCECCommandHandler::HandlePoll(iInitiator, iDestination);
+  m_bAwaitingReceiveFailed = true;
+}
+
+bool CSLCommandHandler::HandleReceiveFailed(void)
+{
+  if (m_bAwaitingReceiveFailed)
+  {
+    m_bAwaitingReceiveFailed = false;
+    return false;
+  }
+
+  return true;
+}