;+
; PROJECT
;           SolarB EIS
;
; NAME
;           EIS_GET_TIMELINE_ENTRIES
;
; PURPOSE
;           Find entry numbers for records within time range and matching
;           specific timeline-entry type(s)
;
; CATEGORY
;           EIS timeline planning
;
; WRITTEN
;           Chunkey Lepine Feb-2005 RAL
;
; VERSION
;           v0.1 Chunkey Jun-2005
;               Returns timeline details, keyword handling improved
;           V0.2 Chunkey Aug-2005
;               Definition of entry types changed
;           v0.3 JAR 17-Apr-2007
;               Now use generic eis_open_db routine
;
;-
;************************************************************************
FUNCTION eis_get_timeline_entries, tBeg, tEnd ,                             $
            SCIENCE       = SCIENCE           ,                             $
            ENGINEERING   = ENGINEERING       ,                             $
            PAUSE         = PAUSE             ,                             $
            BAKEOUT       = BAKEOUT           ,                             $
            REALTIME      = REALTIME          ,                             $
            EVENT         = EVENT             ,                             $
            ALL           = ALL

; Open timeline database
status = eis_open_db(/TIME)

time_constraint = 'START_TIME > ' + STRING(tBeg) +                          $
                  ',STOP_TIME < ' + STRING(tEnd)

IF KEYWORD_SET(ENGINEERING) THEN constraint = 'ENTRY_TYPE=E, '
IF KEYWORD_SET(SCIENCE)     THEN constraint = 'ENTRY_TYPE=S, '
IF KEYWORD_SET(PAUSE)	      THEN constraint = 'ENTRY_TYPE=P, '
IF KEYWORD_SET(EVENT)	      THEN constraint = 'ENTRY_TYPE=4, '
IF KEYWORD_SET(BAKEOUT)     THEN constraint = 'ENTRY_TYPE=B'
IF KEYWORD_SET(REALTIME)    THEN constraint = 'ENTRY_TYPE=R'
IF KEYWORD_SET(ALL)	        THEN constraint = ''

IF (KEYWORD_SET(ENGINEERING) AND KEYWORD_SET(SCIENCE)) THEN BEGIN
    constraint = 'ENTRY_TYPE=[E,S], '
ENDIF

;constraint = 'ENTRY_TYPE=[E,S], '

constraint = constraint + time_constraint
; OK, read database here! Index is a vector of sequence_ids

index      = dbfind(constraint , /SILENT , count = count)

; OK, if no entries have been found, then bail out!
IF (count EQ 0) THEN RETURN , 0

RETURN , eis_get_timeline_details(index)


END

