本文整理汇总了C++中CPVRTimerInfoTagPtr::ChannelTag方法的典型用法代码示例。如果您正苦于以下问题:C++ CPVRTimerInfoTagPtr::ChannelTag方法的具体用法?C++ CPVRTimerInfoTagPtr::ChannelTag怎么用?C++ CPVRTimerInfoTagPtr::ChannelTag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPVRTimerInfoTagPtr
的用法示例。
在下文中一共展示了CPVRTimerInfoTagPtr::ChannelTag方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FilterTimers
int EpgSearchFilter::FilterTimers(CFileItemList &results)
{
int iRemoved(0);
if (!g_PVRManager.IsStarted())
return iRemoved;
std::vector<CFileItemPtr> timers = g_PVRTimers->GetActiveTimers();
// TODO inefficient!
for (unsigned int iTimerPtr = 0; iTimerPtr < timers.size(); iTimerPtr++)
{
CFileItemPtr fileItem = timers.at(iTimerPtr);
if (!fileItem || !fileItem->HasPVRTimerInfoTag())
continue;
CPVRTimerInfoTagPtr timer = fileItem->GetPVRTimerInfoTag();
if (!timer)
continue;
for (int iResultPtr = 0; iResultPtr < results.Size(); iResultPtr++)
{
const CEpgInfoTagPtr epgentry(results.Get(iResultPtr)->GetEPGInfoTag());
if (!epgentry ||
*epgentry->ChannelTag() != *timer->ChannelTag() ||
epgentry->StartAsUTC() < timer->StartAsUTC() ||
epgentry->EndAsUTC() > timer->EndAsUTC())
continue;
results.Remove(iResultPtr);
iResultPtr--;
++iRemoved;
}
}
return iRemoved;
}
示例2: channel
std::vector<CEpgInfoTagPtr> CEpgContainer::GetEpgTagsForTimer(const CPVRTimerInfoTagPtr &timer) const
{
CPVRChannelPtr channel(timer->ChannelTag());
if (!channel)
channel = timer->UpdateChannel();
if (channel)
{
const CEpgPtr epg(channel->GetEPG());
if (epg)
return epg->GetTagsBetween(timer->StartAsUTC(), timer->EndAsUTC());
}
return std::vector<CEpgInfoTagPtr>();
}