;+
; Project     : SOLAR-B - EIS
;
; Name        : EIS_CPT_PROCESS_SUSPENSION_PERIODS
;
; Purpose     : Processes suspension_periods.
;
; Explanation : Processes suspension_periods.
;
; Use         : < result = eis_cpt_process_suspension_periods ( orl, suspension_periods ) >
;
; Inputs      : orl                : OBJECT of class structure EIS_CPT_command_store
;               suspension_periods : STRUCTURE ARRAY of type EIS_suspension_period.
;
; Opt. Inputs : None.
;
; Outputs     : result   : INT flag :
;                            1 : processed science plan OK.
;                            0 : processing failed.
;
; Opt. Outputs: None.
;
; Keywords    : None.
;
; Calls       : None.
;
; Common      : None.
;
; Restrictions: None.
;
; Side effects: May output ASCII files.
;
; Category    : EIS_CPT.
;
; Prev. Hist. : None.
;
; Written     : Martin Carter RAL 26/10/04
;
; Modified    : Version 0.0, 26/10/04, MKC
;               Version 0.1, 09/03/05, MKC
;                 Changed so that processes all suspension periods.
;               Version 0.2, 18/03/05, MKC
;                 Renamed arguments
;                 Added 'real' commands.
;               Version 0.3, 24/03/05, MKC
;                 Used eis cpt command store.
;               Version 0.4, 19/06/06, MKC
;                 Moved check on whether suspension_periods defined out of this routine.
;               Version 0.5, 01/05/07, MKC
;                 Added orl argument.
;                 Replaced eis cpt command store with orl object.
;
; Version     : 0.5, 01/05/07
;-
;**********************************************************

FUNCTION eis_cpt_process_suspension_periods, orl, suspension_periods

    ; loop through suspension periods

    FOR k = 0, N_ELEMENTS(suspension_periods)-1 DO BEGIN

      ; add command to command store

      IF NOT orl->add ( suspension_periods[k].onboard, suspension_periods[k].pause_time, 'PAUSE', dummy, dummy, suspension_periods[k].description) THEN GOTO, error

      IF NOT orl->add ( suspension_periods[k].onboard, suspension_periods[k].resume_time, 'RESUME', dummy, dummy, 'End suspension period') THEN GOTO, error

    ENDFOR

  ; return finished OK flag

  RETURN, 1

error :

  ; issue routine name

  MESSAGE, 'ERROR', /INFORMATIONAL

  ; return error flag

  RETURN, 0

END





