当前位置: 首页>>代码示例>>C++>>正文


C++ CCECBusDevice::GetStatus方法代码示例

本文整理汇总了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;
}
开发者ID:,项目名称:,代码行数:54,代码来源:

示例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;
}
开发者ID:AndresStepa,项目名称:tcp-cec,代码行数:38,代码来源:VLCommandHandler.cpp

示例3: IsPresentDevice

bool CCECProcessor::IsPresentDevice(cec_logical_address address)
{
  CCECBusDevice *device = m_busDevices->At(address);
  return device && device->GetStatus() == CEC_DEVICE_STATUS_PRESENT;
}
开发者ID:BuzzBumbleBee,项目名称:libcec,代码行数:5,代码来源:CECProcessor.cpp


注:本文中的CCECBusDevice::GetStatus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。