CPVRChannelGroupPtr CPVRChannelGroupsContainer::GetLastPlayedGroup(int iChannelID /* = -1 */) const { CPVRChannelGroupPtr groupTV = m_groupsTV->GetLastPlayedGroup(iChannelID); CPVRChannelGroupPtr groupRadio = m_groupsRadio->GetLastPlayedGroup(iChannelID); if (!groupTV || (groupRadio && groupTV->LastWatched() < groupRadio->LastWatched())) return groupRadio; return groupTV; }
CPVRChannelGroupPtr CPVRChannelGroups::GetLastPlayedGroup() const { CSingleLock lock(m_critSection); CPVRChannelGroupPtr group; for (std::vector<CPVRChannelGroupPtr>::const_iterator it = m_groups.begin(); it != m_groups.end(); it++) { if ((*it)->LastWatched() > 0 && (!group || (*it)->LastWatched() > group->LastWatched())) group = (*it); } return group; }
CPVRChannelGroupPtr CPVRChannelGroups::GetLastPlayedGroup(int iChannelID /* = -1 */) const { CSingleLock lock(m_critSection); CPVRChannelGroupPtr group; for (std::vector<CPVRChannelGroupPtr>::const_iterator it = m_groups.begin(); it != m_groups.end(); ++it) { if ((*it)->LastWatched() > 0 && (!group || (*it)->LastWatched() > group->LastWatched()) && (iChannelID == -1 || (iChannelID >= 0 && (*it)->IsGroupMember(iChannelID))) && !(*it)->IsHidden()) group = (*it); } return group; }