本文整理汇总了C++中PeripheralAddonPtr::HasButtonMaps方法的典型用法代码示例。如果您正苦于以下问题:C++ PeripheralAddonPtr::HasButtonMaps方法的具体用法?C++ PeripheralAddonPtr::HasButtonMaps怎么用?C++ PeripheralAddonPtr::HasButtonMaps使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PeripheralAddonPtr
的用法示例。
在下文中一共展示了PeripheralAddonPtr::HasButtonMaps方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetAddonWithButtonMap
bool CPeripheralBusAddon::GetAddonWithButtonMap(const CPeripheral* device, PeripheralAddonPtr &addon) const
{
CSingleLock lock(m_critSection);
// If device is from an add-on, try to use that add-on
if (device && device->GetBusType() == PERIPHERAL_BUS_ADDON)
{
PeripheralAddonPtr addonWithButtonMap;
unsigned int index;
if (SplitLocation(device->Location(), addonWithButtonMap, index))
{
if (addonWithButtonMap->HasButtonMaps())
addon = std::move(addonWithButtonMap);
else
CLog::Log(LOGDEBUG, "Add-on %s doesn't provide button maps for its controllers", addonWithButtonMap->ID().c_str());
}
}
if (!addon)
{
auto it = std::find_if(m_addons.begin(), m_addons.end(),
[](const PeripheralAddonPtr& addon)
{
return addon->HasButtonMaps();
});
if (it != m_addons.end())
addon = *it;
}
return addon.get() != nullptr;
}