- if (!bHandled)
- bHandled = CCECCommandHandler::HandleCommand(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;
-}
-
-bool CSLCommandHandler::InitHandler(void)
-{
- if (m_bHandlerInited)
- return true;
- m_bHandlerInited = true;
-
- CCECBusDevice *primary = m_processor->GetPrimaryDevice();
-
- /* imitate LG devices */
- if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress())
- primary->SetVendorId(CEC_VENDOR_LG, false);
-
- /* LG TVs don't always reply to CEC version requests, so just set it to 1.3a */
- if (m_busDevice->GetLogicalAddress() == CECDEVICE_TV)
- m_busDevice->SetCecVersion(CEC_VERSION_1_3A);
-
- /* LG devices always return "korean" as language */
- cec_menu_language lang;
- lang.device = m_busDevice->GetLogicalAddress();
- snprintf(lang.language, 4, "eng");
- m_busDevice->SetMenuLanguage(lang);
-
- /* reply with LGs vendor id */
- if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress())
- primary->TransmitVendorID(CECDEVICE_TV, false);
-
- return true;