本文整理汇总了C++中CCECBusDevice::GetStatus方法的典型用法代码示例。如果您正苦于以下问题:C++ CCECBusDevice::GetStatus方法的具体用法?C++ CCECBusDevice::GetStatus怎么用?C++ CCECBusDevice::GetStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCECBusDevice
的用法示例。
在下文中一共展示了CCECBusDevice::GetStatus方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: NeedsPoll
bool CCECBusDevice::NeedsPoll(void)
{
bool bSendPoll(false);
cec_logical_address pollAddress(CECDEVICE_UNKNOWN);
switch (m_iLogicalAddress)
{
case CECDEVICE_PLAYBACKDEVICE3:
pollAddress = CECDEVICE_PLAYBACKDEVICE2;
break;
case CECDEVICE_PLAYBACKDEVICE2:
pollAddress = CECDEVICE_PLAYBACKDEVICE1;
break;
case CECDEVICE_RECORDINGDEVICE3:
pollAddress = CECDEVICE_RECORDINGDEVICE2;
break;
case CECDEVICE_RECORDINGDEVICE2:
pollAddress = CECDEVICE_RECORDINGDEVICE1;
break;
case CECDEVICE_TUNER4:
pollAddress = CECDEVICE_TUNER3;
break;
case CECDEVICE_TUNER3:
pollAddress = CECDEVICE_TUNER2;
break;
case CECDEVICE_TUNER2:
pollAddress = CECDEVICE_TUNER1;
break;
case CECDEVICE_AUDIOSYSTEM:
case CECDEVICE_PLAYBACKDEVICE1:
case CECDEVICE_RECORDINGDEVICE1:
case CECDEVICE_TUNER1:
case CECDEVICE_TV:
bSendPoll = true;
break;
default:
break;
}
if (!bSendPoll && pollAddress != CECDEVICE_UNKNOWN)
{
CCECBusDevice *device = m_processor->GetDevice(pollAddress);
if (device)
{
cec_bus_device_status status = device->GetStatus();
bSendPoll = (status == CEC_DEVICE_STATUS_PRESENT || status == CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC);
}
else
{
bSendPoll = true;
}
}
return bSendPoll;
}
示例2: PowerUpEventReceived
bool CVLCommandHandler::PowerUpEventReceived(void)
{
bool bPowerUpEventReceived(true);
if (m_busDevice->GetLogicalAddress() != CECDEVICE_TV)
{
CCECBusDevice* tv = m_processor->GetTV();
if (tv && tv->GetStatus() != CEC_DEVICE_STATUS_PRESENT)
return true;
// get the status from the TV
if (tv && tv->GetCurrentVendorId() == CEC_VENDOR_PANASONIC)
{
CVLCommandHandler *handler = static_cast<CVLCommandHandler *>(tv->GetHandler());
bPowerUpEventReceived = handler ? handler->PowerUpEventReceived() : false;
tv->MarkHandlerReady();
}
}
else
{
// get the current status
{
CLockObject lock(m_mutex);
bPowerUpEventReceived = m_iPowerUpEventReceived > 0 &&
GetTimeMs() - m_iPowerUpEventReceived > SOURCE_SWITCH_DELAY_MS;
}
// if we didn't receive the event, check if the TV is already marked as powered on
if (!bPowerUpEventReceived && m_busDevice->GetCurrentPowerStatus() == CEC_POWER_STATUS_ON)
{
CLockObject lock(m_mutex);
m_iPowerUpEventReceived = GetTimeMs();
bPowerUpEventReceived = true;
}
}
return bPowerUpEventReceived;
}
示例3: IsPresentDevice
bool CCECProcessor::IsPresentDevice(cec_logical_address address)
{
CCECBusDevice *device = m_busDevices->At(address);
return device && device->GetStatus() == CEC_DEVICE_STATUS_PRESENT;
}