bool CPVRTimers::IsRecordingOnChannel(const CPVRChannel &channel) const { CSingleLock lock(m_critSection); for (map<CDateTime, vector<CPVRTimerInfoTag *>* >::const_iterator it = m_tags.begin(); it != m_tags.end(); it++) { for (unsigned int iTimerPtr = 0; iTimerPtr < it->second->size(); iTimerPtr++) { CPVRTimerInfoTag *timer = it->second->at(iTimerPtr); if (timer->IsRecording() && timer->m_iClientChannelUid == channel.UniqueID() && timer->m_iClientId == channel.ClientID()) return true; } } return false; }
bool CPVRTimers::IsRecordingOnChannel(const CPVRChannel &channel) const { bool bReturn(false); CSingleLock lock(m_critSection); for (unsigned int ptr = 0; ptr < size(); ptr++) { CPVRTimerInfoTag *timer = at(ptr); if (timer->IsRecording() && timer->m_iClientChannelUid == channel.UniqueID() && timer->m_iClientId == channel.ClientID()) { bReturn = true; break; } } return bReturn; }
CFileItemPtr CPVRTimers::GetNextActiveTimer(void) const { CSingleLock lock(m_critSection); for (map<CDateTime, vector<CPVRTimerInfoTag *>* >::const_iterator it = m_tags.begin(); it != m_tags.end(); it++) { for (unsigned int iTimerPtr = 0; iTimerPtr < it->second->size(); iTimerPtr++) { CPVRTimerInfoTag *current = it->second->at(iTimerPtr); if (current->IsActive() && !current->IsRecording()) { CFileItemPtr fileItem(new CFileItem(*current)); return fileItem; } } } CFileItemPtr fileItem; return fileItem; }
bool CPVRTimers::GetNextActiveTimer(CPVRTimerInfoTag *tag) { bool bReturn(false); bool bGotFirst(false); CSingleLock lock(m_critSection); for (unsigned int iTimerPtr = 0; iTimerPtr < size(); iTimerPtr++) { CPVRTimerInfoTag *current = at(iTimerPtr); if (current->IsActive() && !current->IsRecording() && (!bGotFirst || current->Compare(*tag) < 0)) { *tag = *at(iTimerPtr); bGotFirst = true; bReturn = true; } } return bReturn; }