Example #1
0
 private static long ParseLastWeekDay(int dayOfWeek, ref CronExpressionFlag flags)
 {
     flags |= CronExpressionFlag.DayOfWeekLast;
     return(GetBit(dayOfWeek));
 }
Example #2
0
 private static unsafe long ParseNthWeekDay(CronField field, ref char *pointer, int dayOfWeek, ref CronExpressionFlag flags, out byte nthDayOfWeek)
 {
     nthDayOfWeek = (byte)ParseNumber(field, ref pointer, MinNthDayOfWeek, MaxNthDayOfWeek);
     flags       |= CronExpressionFlag.NthDayOfWeek;
     return(GetBit(dayOfWeek));
 }
Example #3
0
        private static unsafe long ParseRange(CronField field, ref char *pointer, int low, ref CronExpressionFlag flags)
        {
            if (!Accept(ref pointer, '-'))
            {
                if (!Accept(ref pointer, '/'))
                {
                    return(GetBit(low));
                }

                if (field.CanDefineInterval)
                {
                    flags |= CronExpressionFlag.Interval;
                }
                return(ParseStep(field, ref pointer, low, field.Last));
            }

            if (field.CanDefineInterval)
            {
                flags |= CronExpressionFlag.Interval;
            }

            var high = ParseValue(field, ref pointer);

            if (Accept(ref pointer, '/'))
            {
                return(ParseStep(field, ref pointer, low, high));
            }
            return(GetBits(field, low, high, 1));
        }
Example #4
0
        private static unsafe long ParseLastDayOfMonth(CronField field, ref char *pointer, ref CronExpressionFlag flags, ref byte lastMonthOffset)
        {
            flags |= CronExpressionFlag.DayOfMonthLast;

            if (Accept(ref pointer, '-'))
            {
                lastMonthOffset = (byte)ParseNumber(field, ref pointer, 0, field.Last - 1);
            }
            if (AcceptCharacter(ref pointer, 'W'))
            {
                flags |= CronExpressionFlag.NearestWeekday;
            }
            return(field.AllBits);
        }
Example #5
0
 private bool HasFlag(CronExpressionFlag value)
 {
     return((_flags & value) != 0);
 }