11 const std::string CUSBRemoteBoxController::RSRC_FILTER =
"USB[0-9]+::0x1BFA::0x1F6D::[0-9]+::RAW";
12 const int CUSBRemoteBoxController::REFRESH_RATE_MS = 100;
18 m_RBCat(rCatInstance),
20 m_pRemoteBox(nullptr),
29 if (
nullptr != m_pRemoteBox)
33 m_pRemoteBox->
Update(m_LEDs, m_Buttons);
36 m_pRemoteBox =
nullptr;
42 CThreadedMailBox::ThreadStart();
43 m_Timer.
Start(std::chrono::milliseconds(REFRESH_RATE_MS));
49 CThreadedMailBox::ThreadStop();
52 void CUSBRemoteBoxController::l_PostTimerEvent()
62 void CUSBRemoteBoxController::l_Refresh()
67 if (
nullptr == m_pRemoteBox)
80 if (!m_pRemoteBox->
Update(m_LEDs, m_Buttons))
86 if (
nullptr != m_pRemoteBox)
88 if (!m_pRemoteBox->
Update(m_LEDs, m_Buttons))
101 if (
nullptr != m_pRemoteBox)
104 m_pRemoteBox =
nullptr;
109 void CUSBRemoteBoxController::l_SetBusyState(
bool Busy)
113 if (
nullptr != m_pRemoteBox)
116 if (!m_pRemoteBox->
Update(m_LEDs, m_Buttons))
123 if (
nullptr != m_pRemoteBox)
126 m_pRemoteBox =
nullptr;
135 case eEventType::kExit:
137 case eEventType::kUserMsg:
142 case sUSBRemoteBoxControllerMailBoxMsg::eMsgType::kTimerEvent:
145 case sUSBRemoteBoxControllerMailBoxMsg::eMsgType::kCatalogNotification:
146 l_AsyncManagerNotificationHandler(pMsg->
pCatNot);
154 void CUSBRemoteBoxController::l_AsyncManagerNotificationHandler(
CAsyncNotification * pASNot)
163 const bool * l_pVal =
static_cast<const bool *
>(l_pASNot->
DataCopy());
164 l_SetBusyState(*l_pVal);