示例#1
0
bool RecordingRule::SameTimeslot(RecordingRule& rule)
{
  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.ChanID() == ChanID();
  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.ChanID() == ChanID();
  case MythTimer::ChannelRecord:
    return rule.Title(false) == Title(false) && rule.ChanID() == ChanID(); //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.ChanID() == ChanID();
  }
  return false;
}