本文整理汇总了C++中CEpgPtr::GetTagByBroadcastId方法的典型用法代码示例。如果您正苦于以下问题:C++ CEpgPtr::GetTagByBroadcastId方法的具体用法?C++ CEpgPtr::GetTagByBroadcastId怎么用?C++ CEpgPtr::GetTagByBroadcastId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CEpgPtr
的用法示例。
在下文中一共展示了CEpgPtr::GetTagByBroadcastId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetTagById
CEpgInfoTagPtr CEpgContainer::GetTagById(const CPVRChannelPtr &channel, unsigned int iBroadcastId) const
{
CEpgInfoTagPtr retval;
if (iBroadcastId == EPG_TAG_INVALID_UID)
return retval;
if (channel)
{
const CEpgPtr epg(channel->GetEPG());
if (epg)
retval = epg->GetTagByBroadcastId(iBroadcastId);
}
else
{
for (const auto &epgEntry : m_epgs)
{
retval = epgEntry.second->GetTagByBroadcastId(iBroadcastId);
if (retval)
break;
}
}
return retval;
}
示例2: GetEpgInfoTag
CEpgInfoTagPtr CPVRTimerInfoTag::GetEpgInfoTag(bool bCreate /* = true */) const
{
if (!m_epgTag && bCreate)
{
CPVRChannelPtr channel(g_PVRChannelGroups->GetByUniqueID(m_iClientChannelUid, m_iClientId));
if (channel)
{
const CEpgPtr epg(channel->GetEPG());
if (epg)
{
CSingleLock lock(m_critSection);
if (!m_epgTag)
{
if (m_iEpgUid != EPG_TAG_INVALID_UID)
{
m_epgTag = epg->GetTagByBroadcastId(m_iEpgUid);
}
else if (!m_bStartAnyTime && !m_bEndAnyTime)
{
// if no epg uid present, try to find a tag according to timer's start/end time
m_epgTag = epg->GetTagBetween(StartAsUTC() - CDateTimeSpan(0, 0, 2, 0), EndAsUTC() + CDateTimeSpan(0, 0, 2, 0));
}
if (m_epgTag)
m_epgTag->SetTimer(g_PVRTimers->GetById(m_iTimerId));
}
}
}
}
return m_epgTag;
}
示例3: GetTagById
CEpgInfoTagPtr CEpgContainer::GetTagById(const CPVRChannelPtr &channel, unsigned int iBroadcastId) const
{
CEpgInfoTagPtr retval;
if (!channel || iBroadcastId == EPG_TAG_INVALID_UID)
return retval;
const CEpgPtr epg(channel->GetEPG());
if (epg)
retval = epg->GetTagByBroadcastId(iBroadcastId);
return retval;
}