Return TypeFunction nameArguments
hzEcodehzCron::Validate(void)

Declared in file: hzCron.h
Defined in file : hzCron.cpp

Function Logic:

0:START 1:m_Period 2:HZPERIOD_DAY 3:HZPERIOD_MONSAT 4:HZPERIOD_WEEKDAY 5:HZPERIOD_EMON 6:HZPERIOD_ETUE 7:HZPERIOD_EWED 8:HZPERIOD_ETHR 9:HZPERIOD_EFRI 10:HZPERIOD_ESAT 11:HZPERIOD_ESUN

Function body:

hzEcode hzCron::Validate (void)
{
   _hzfunc("hzCron::Validate") ;
   hzEcode rc = E_OK ;
   switch  (m_Period)
   {
   case HZPERIOD_DAY:
   case HZPERIOD_MONSAT:
   case HZPERIOD_WEEKDAY:
   case HZPERIOD_EMON:
   case HZPERIOD_ETUE:
   case HZPERIOD_EWED:
   case HZPERIOD_ETHR:
   case HZPERIOD_EFRI:
   case HZPERIOD_ESAT:
   case HZPERIOD_ESUN:
       break ;
   case HZPERIOD_ALT_MON:
   case HZPERIOD_ALT_TUE:
   case HZPERIOD_ALT_WED:
   case HZPERIOD_ALT_THR:
   case HZPERIOD_ALT_FRI:
   case HZPERIOD_ALT_SAT:
   case HZPERIOD_ALT_SUN:
       if (!m_Era.IsSet())
       {
           rc = E_NOINIT ;
           m_error = "\tFortnightly invokations must have an era start date otherwise weeks are ambiguous" ;
       }
       break ;
   case HZPERIOD_MONTH:
   case HZPERIOD_MONTH1:
   case HZPERIOD_MONTH2:
   case HZPERIOD_QTR1:
   case HZPERIOD_QTR2:
   case HZPERIOD_QTR3:
   case HZPERIOD_HYEAR1:
   case HZPERIOD_HYEAR2:
   case HZPERIOD_HYEAR3:
   case HZPERIOD_HYEAR4:
   case HZPERIOD_HYEAR5:
   case HZPERIOD_HYEAR6:
   case HZPERIOD_YEAR1:
   case HZPERIOD_YEAR2:
   case HZPERIOD_YEAR3:
   case HZPERIOD_YEAR4:
   case HZPERIOD_YEAR5:
   case HZPERIOD_YEAR6:
   case HZPERIOD_YEAR7:
   case HZPERIOD_YEAR8:
   case HZPERIOD_YEAR9:
   case HZPERIOD_YEAR10:
   case HZPERIOD_YEAR11:
   case HZPERIOD_YEAR12:
   case HZPERIOD_RANDOM:
       if (m_Rule == HZMONTHRULE_INVALID && !m_Era.IsSet())
       {
           rc = E_NOINIT ;
           m_error = "Periods of a month or more must have a valid monthrule" ;
       }
       break ;
   default:
       m_error = "Periodicity not set" ;
       rc = E_NOINIT ;
   }
   if (rc == E_OK)
       m_bActive = true ;
   return rc ;
}