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


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

本文整理汇总了C++中CCECBusDevice::SetPowerStatus方法的典型用法代码示例。如果您正苦于以下问题:C++ CCECBusDevice::SetPowerStatus方法的具体用法?C++ CCECBusDevice::SetPowerStatus怎么用?C++ CCECBusDevice::SetPowerStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CCECBusDevice的用法示例。


在下文中一共展示了CCECBusDevice::SetPowerStatus方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: HandleVendorCommandPowerOnStatus

void CSLCommandHandler::HandleVendorCommandPowerOnStatus(const cec_command &command)
{
  if (command.destination != CECDEVICE_BROADCAST)
  {
    CCECBusDevice *device = m_processor->m_busDevices[m_processor->GetLogicalAddresses().primary];
    device->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
    device->TransmitPowerState(command.initiator);
    device->SetPowerStatus(CEC_POWER_STATUS_ON);
  }
}
开发者ID:FSSDawid,项目名称:libcec,代码行数:10,代码来源:SLCommandHandler.cpp

示例2: HandleVendorCommandPowerOnStatus

void CSLCommandHandler::HandleVendorCommandPowerOnStatus(const cec_command &command)
{
  if (command.destination != CECDEVICE_BROADCAST)
  {
    CCECBusDevice *device = m_processor->GetPrimaryDevice();
    if (device)
    {
      device->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
      device->TransmitPowerState(command.initiator, true);
      device->SetPowerStatus(CEC_POWER_STATUS_ON);
    }
  }
}
开发者ID:AndresStepa,项目名称:tcp-cec,代码行数:13,代码来源:SLCommandHandler.cpp

示例3: InitHandler

bool CSLCommandHandler::InitHandler(void)
{
  if (m_bHandlerInited)
    return true;
  m_bHandlerInited = true;

  if (m_busDevice->GetLogicalAddress() != CECDEVICE_TV)
    return true;

  CCECBusDevice *primary = m_processor->GetPrimaryDevice();
  if (primary && primary->GetLogicalAddress() != CECDEVICE_UNREGISTERED)
  {
    /* imitate LG devices */
    if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress())
    {
      primary->SetVendorId(CEC_VENDOR_LG);
      primary->ReplaceHandler(false);
    }

    if (m_busDevice->GetLogicalAddress() == CECDEVICE_TV)
    {
      /* start as 'in transition standby->on' */
      primary->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
      primary->TransmitPowerState(CECDEVICE_TV, false);

      /* send the vendor id */
      primary->TransmitVendorID(CECDEVICE_BROADCAST, false, false);
    }
  }

  return true;
}
开发者ID:AndresStepa,项目名称:tcp-cec,代码行数:32,代码来源:SLCommandHandler.cpp

示例4: HandleVendorCommandPowerOn

void CSLCommandHandler::HandleVendorCommandPowerOn(const cec_command &command)
{
  CCECBusDevice *device = m_processor->GetPrimaryDevice();
  if (device)
  {
    m_bSLEnabled = true;

    device->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON); //XXX
    device->TransmitPowerState(command.initiator);
    device->SetPowerStatus(CEC_POWER_STATUS_ON);

    SetLGDeckStatus();
    device->SetActiveSource();
    TransmitImageViewOn(device->GetLogicalAddress(), command.initiator);
  }
}
开发者ID:FSSDawid,项目名称:libcec,代码行数:16,代码来源:SLCommandHandler.cpp

示例5: HandleGiveDevicePowerStatus

int CSLCommandHandler::HandleGiveDevicePowerStatus(const cec_command &command)
{
  if (m_processor->CECInitialised() && m_processor->IsHandledByLibCEC(command.destination) && command.initiator == CECDEVICE_TV)
  {
    CCECBusDevice *device = GetDevice(command.destination);
    if (device && device->GetCurrentPowerStatus() != CEC_POWER_STATUS_ON)
    {
      device->TransmitPowerState(command.initiator, true);
      device->SetPowerStatus(CEC_POWER_STATUS_ON);
    }
    else
    {
      if (!ActiveSourceSent())
      {
        device->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
        device->TransmitPowerState(command.initiator, true);
        ActivateSource();
      }
      else if (m_resetPowerState.IsSet() && m_resetPowerState.TimeLeft() > 0)
      {
        /* TODO assume that we've bugged out. the return button no longer works after this */
        LIB_CEC->AddLog(CEC_LOG_WARNING, "FIXME: LG seems to have bugged out. resetting to 'in transition standby to on'. the return button will not work");
        {
          CLockObject lock(m_SLMutex);
          m_bActiveSourceSent = false;
        }
        device->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
        device->TransmitPowerState(command.initiator, true);
        device->SetPowerStatus(CEC_POWER_STATUS_ON);
        m_resetPowerState.Init(5000);
      }
      else
      {
        device->TransmitPowerState(command.initiator, true);
        m_resetPowerState.Init(5000);
      }
    }

    return COMMAND_HANDLED;
  }

  return CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND;
}
开发者ID:AndresStepa,项目名称:tcp-cec,代码行数:43,代码来源:SLCommandHandler.cpp

示例6: HandleFeatureAbort

bool CSLCommandHandler::HandleFeatureAbort(const cec_command &command)
{
  CCECBusDevice *primary = m_processor->GetPrimaryDevice();
  if (primary->GetPowerStatus(false) == CEC_POWER_STATUS_ON && !m_bPowerStateReset && !m_bSLEnabled)
  {
    m_bPowerStateReset = true;
    primary->SetPowerStatus(CEC_POWER_STATUS_STANDBY);
  }

  return CCECCommandHandler::HandleFeatureAbort(command);
}
开发者ID:FSSDawid,项目名称:libcec,代码行数:11,代码来源:SLCommandHandler.cpp

示例7: HandleVendorCommandPowerOn

void CSLCommandHandler::HandleVendorCommandPowerOn(const cec_command &command)
{
  if (command.initiator != CECDEVICE_TV)
    return;

  CCECBusDevice *device = m_processor->GetPrimaryDevice();
  if (device)
  {
    SetSLInitialised();
    device->MarkAsActiveSource();
    device->SetPowerStatus(CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON);
    device->TransmitPowerState(command.initiator, true);

    CEvent::Sleep(2000);
    device->SetPowerStatus(CEC_POWER_STATUS_ON);
    device->TransmitPowerState(command.initiator, false);
    device->TransmitPhysicalAddress(false);
    {
      CLockObject lock(m_SLMutex);
      m_bActiveSourceSent = false;
    }
  }
}
开发者ID:AndresStepa,项目名称:tcp-cec,代码行数:23,代码来源:SLCommandHandler.cpp

示例8: InitHandler

bool CSLCommandHandler::InitHandler(void)
{
  if (m_bHandlerInited)
    return true;
  m_bHandlerInited = true;

  /* reply with LGs vendor id */
  CCECBusDevice *primary = m_processor->GetPrimaryDevice();
  if (m_busDevice->GetLogicalAddress() != primary->GetLogicalAddress())
    primary->TransmitVendorID(CECDEVICE_TV, false);

  primary->SetPowerStatus(CEC_POWER_STATUS_STANDBY);
  return true;
}
开发者ID:FSSDawid,项目名称:libcec,代码行数:14,代码来源:SLCommandHandler.cpp


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