Ejemplo n.º 1
0
bool CEpg::InfoTagNext(CEpgInfoTag &tag) const
{
  CEpgInfoTag nowTag;
  if (InfoTagNow(nowTag))
  {
    const CEpgInfoTag *nextTag = nowTag.GetNextEvent();
    if (nextTag)
      tag = *nextTag;
    return nextTag != NULL;
  }

  CSingleLock lock(m_critSection);
  if (size() >  0)
  {
    CDateTime now = CDateTime::GetCurrentDateTime().GetAsUTCDateTime();
    for (unsigned int iTagPtr = 0; iTagPtr < size(); iTagPtr++)
    {
      if (at(iTagPtr)->StartAsUTC() > now)
      {
        tag = *at(iTagPtr);
        return true;
      }
    }
  }

  return false;
}