本文整理汇总了C++中CPVREpgInfoTagPtr::UniqueChannelID方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVREpgInfoTagPtr::UniqueChannelID方法的具体用法?C++ CPVREpgInfoTagPtr::UniqueChannelID怎么用?C++ CPVREpgInfoTagPtr::UniqueChannelID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVREpgInfoTagPtr
的用法示例。
在下文中一共展示了CPVREpgInfoTagPtr::UniqueChannelID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetTimerForEpgTag
CPVRTimerInfoTagPtr CPVRTimers::GetTimerForEpgTag(const CPVREpgInfoTagPtr &epgTag) const
{
if (epgTag)
{
CSingleLock lock(m_critSection);
for (const auto &tagsEntry : m_tags)
{
for (const auto &timersEntry : tagsEntry.second)
{
if (timersEntry->IsTimerRule())
continue;
if (timersEntry->GetEpgInfoTag(false) == epgTag)
return timersEntry;
if (timersEntry->m_iClientChannelUid != PVR_CHANNEL_INVALID_UID &&
timersEntry->m_iClientChannelUid == epgTag->UniqueChannelID())
{
if (timersEntry->UniqueBroadcastID() != EPG_TAG_INVALID_UID &&
timersEntry->UniqueBroadcastID() == epgTag->UniqueBroadcastID())
return timersEntry;
if (timersEntry->m_bIsRadio == epgTag->IsRadio() &&
timersEntry->StartAsUTC() <= epgTag->StartAsUTC() &&
timersEntry->EndAsUTC() >= epgTag->EndAsUTC())
return timersEntry;
}
}
}
}
return CPVRTimerInfoTagPtr();
}
示例2: GetRecordingForEpgTag
CPVRRecordingPtr CPVRRecordings::GetRecordingForEpgTag(const CPVREpgInfoTagPtr &epgTag) const
{
if (!epgTag)
return {};
CSingleLock lock(m_critSection);
for (const auto recording : m_recordings)
{
if (recording.second->IsDeleted())
continue;
if (recording.second->ClientID() != epgTag->ClientID())
continue;
if (recording.second->ChannelUid() != epgTag->UniqueChannelID())
continue;
unsigned int iEpgEvent = recording.second->BroadcastUid();
if (iEpgEvent != EPG_TAG_INVALID_UID)
{
if (iEpgEvent == epgTag->UniqueBroadcastID())
return recording.second;
}
else
{
if (recording.second->RecordingTimeAsUTC() <= epgTag->StartAsUTC() &&
recording.second->EndTimeAsUTC() >= epgTag->EndAsUTC())
return recording.second;
}
}
return CPVRRecordingPtr();
}