bool RecordingRule::SameTimeslot(RecordingRule &rule) const { time_t starttime = StartTime(); time_t rStarttime = rule.StartTime(); switch (rule.Type()) { case MythTimer::NotRecording: case MythTimer::SingleRecord: case MythTimer::OverrideRecord: case MythTimer::DontRecord: return rStarttime == starttime && rule.EndTime() == EndTime() && rule.ChannelID() == ChannelID(); case MythTimer::FindDailyRecord: case MythTimer::FindWeeklyRecord: case MythTimer::FindOneRecord: return rule.Title(false) == Title(false); case MythTimer::TimeslotRecord: return rule.Title(false) == Title(false) && daytime(&starttime) == daytime(&rStarttime) && rule.ChannelID() == ChannelID(); case MythTimer::ChannelRecord: return rule.Title(false) == Title(false) && rule.ChannelID() == ChannelID(); //TODO: dup case MythTimer::AllRecord: return rule.Title(false) == Title(false); //TODO: dup case MythTimer::WeekslotRecord: return rule.Title(false) == Title(false) && daytime(&starttime) == daytime(&rStarttime) && weekday(&starttime) == weekday(&rStarttime) && rule.ChannelID() == ChannelID(); } return false; }