00001
00002
00066 #ifndef OICHECK_H
00067 #define OICHECK_H
00068
00069 #include "oifile.h"
00070
00071
00072
00073
00074
00075
00076 #define MAX_REPORT 10
00079 typedef enum {
00080 OI_BREACH_NONE,
00081 OI_BREACH_WARNING,
00082 OI_BREACH_NOT_OIFITS,
00083 OI_BREACH_NOT_FITS,
00084 } oi_breach_level;
00085
00087 typedef struct {
00088 oi_breach_level level;
00089 char *description;
00090 int numBreach;
00091 char *location[MAX_REPORT];
00092 GStringChunk *chunk;
00093 } oi_check_result;
00094
00096 typedef oi_breach_level (*check_func)(oi_fits *, oi_check_result *);
00097
00098
00099
00100
00101
00102 void init_check_result(oi_check_result *);
00103 void free_check_result(oi_check_result *);
00104 char *format_check_result(oi_check_result *);
00105 void print_check_result(oi_check_result *);
00106 oi_breach_level check_unique_targets(oi_fits *, oi_check_result *);
00107 oi_breach_level check_targets_present(oi_fits *, oi_check_result *);
00108 oi_breach_level check_elements_present(oi_fits *, oi_check_result *);
00109 oi_breach_level check_flagging(oi_fits *, oi_check_result *);
00110 oi_breach_level check_t3amp(oi_fits *, oi_check_result *);
00111 oi_breach_level check_waveorder(oi_fits *, oi_check_result *);
00112
00113 #endif
00114