MCPcopy Create free account
hub / github.com/Pulse-Eight/libcec / NeedsPoll

Method NeedsPoll

src/libcec/devices/CECBusDevice.cpp:1312–1365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1310}
1311
1312bool CCECBusDevice::NeedsPoll(void)
1313{
1314 bool bSendPoll(false);
1315 cec_logical_address pollAddress(CECDEVICE_UNKNOWN);
1316 switch (m_iLogicalAddress)
1317 {
1318 case CECDEVICE_PLAYBACKDEVICE3:
1319 pollAddress = CECDEVICE_PLAYBACKDEVICE2;
1320 break;
1321 case CECDEVICE_PLAYBACKDEVICE2:
1322 pollAddress = CECDEVICE_PLAYBACKDEVICE1;
1323 break;
1324 case CECDEVICE_RECORDINGDEVICE3:
1325 pollAddress = CECDEVICE_RECORDINGDEVICE2;
1326 break;
1327 case CECDEVICE_RECORDINGDEVICE2:
1328 pollAddress = CECDEVICE_RECORDINGDEVICE1;
1329 break;
1330 case CECDEVICE_TUNER4:
1331 pollAddress = CECDEVICE_TUNER3;
1332 break;
1333 case CECDEVICE_TUNER3:
1334 pollAddress = CECDEVICE_TUNER2;
1335 break;
1336 case CECDEVICE_TUNER2:
1337 pollAddress = CECDEVICE_TUNER1;
1338 break;
1339 case CECDEVICE_AUDIOSYSTEM:
1340 case CECDEVICE_PLAYBACKDEVICE1:
1341 case CECDEVICE_RECORDINGDEVICE1:
1342 case CECDEVICE_TUNER1:
1343 case CECDEVICE_TV:
1344 bSendPoll = true;
1345 break;
1346 default:
1347 break;
1348 }
1349
1350 if (!bSendPoll && pollAddress != CECDEVICE_UNKNOWN)
1351 {
1352 CCECBusDevice *device = m_processor->GetDevice(pollAddress);
1353 if (device)
1354 {
1355 cec_bus_device_status status = device->GetStatus();
1356 bSendPoll = (status == CEC_DEVICE_STATUS_PRESENT || status == CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC);
1357 }
1358 else
1359 {
1360 bSendPoll = true;
1361 }
1362 }
1363
1364 return bSendPoll;
1365}
1366
1367void CCECBusDevice::CheckVendorIdRequested(const cec_logical_address initiator)
1368{

Callers

nothing calls this directly

Calls 2

GetStatusMethod · 0.80
GetDeviceMethod · 0.45

Tested by

no test coverage detected