grasp_driver_settings.h
Go to the documentation of this file.
1 /*
2  * Copyright 2016 CNRS & Universite Lille 1. All rights reserved.
3  *
4  * Licensed under the GRASP Open Source License V1.0 (see LICENSE file)
5  */
6 
13 #ifndef DRIVER_SETTINGS_H_
14 #define DRIVER_SETTINGS_H_
15 
16 #include <time.h>
17 #include <stdbool.h>
18 
19 #include "grasp_box.h"
20 
21 typedef struct grasp_driver_settings_t_ {
22  /* private, do not access directly */
23  //char file_pattern[1023 + 1]; // long enough to hold very long paths
24  int nfiles;
25  char **files;
26  int xmin; /* coordinate of pixel */
27  int xmax; /* coordinate of pixel */
28  int ymin; /* coordinate of pixel */
29  int ymax; /* coordinate of pixel */
30  time_t gmt_time_min; /* time in seconds since the Unix Epoch */
31  time_t gmt_time_max; /* time in seconds since the Unix Epoch */
32  char str_gmt_time_min[20 + 1]; // format ISO 8601 YYYY-MM-DDThh:mm:ssZ
33  char str_gmt_time_max[20 + 1]; // format ISO 8601 YYYY-MM-DDThh:mm:ssZ
34  double missing_value; /* initialization value when data are not available */
36 
37 #if defined (__cplusplus)
38 extern "C" {
39 #endif
40 
41 extern void grasp_driver_settings_set_dimensions(size_t nrows, size_t ncols);
43  int nfiles, char **files,
44  double row_min, double col_min,
45  double row_max, double col_max,
46  const char *str_gmt_time_min, const char *str_gmt_time_max,
47  double missing_value);
48 
50 extern bool grasp_driver_settings_are_valid(const grasp_driver_settings_t *settings);
51 extern void grasp_driver_settings_convert(const grasp_driver_settings_t *user_settings, grasp_box_settings_t *box_settings);
52 extern void grasp_driver_settings_print(FILE *stream, const char *label, const grasp_driver_settings_t *settings);
53 
54 #if defined (__cplusplus)
55 }
56 #endif
57 
58 #endif /* DRIVER_SETTINGS_H_ */
Definition: grasp_driver_settings.h:21
int ymin
Definition: grasp_driver_settings.h:28
struct grasp_driver_settings_t_ grasp_driver_settings_t
int ymax
Definition: grasp_driver_settings.h:29
void grasp_driver_settings_set_dimensions(size_t nrows, size_t ncols)
Definition: grasp_driver_settings.c:85
int nfiles
Definition: grasp_driver_settings.h:24
char str_gmt_time_min[20+1]
Definition: grasp_driver_settings.h:32
void grasp_driver_settings_clear(grasp_driver_settings_t *settings)
Definition: grasp_driver_settings.c:45
time_t gmt_time_max
Definition: grasp_driver_settings.h:31
void grasp_driver_settings_convert(const grasp_driver_settings_t *user_settings, grasp_box_settings_t *box_settings)
Definition: grasp_driver_settings.c:172
double missing_value
Definition: grasp_driver_settings.h:34
bool grasp_driver_settings_init_by_row_col(grasp_driver_settings_t *settings, int nfiles, char **files, double row_min, double col_min, double row_max, double col_max, const char *str_gmt_time_min, const char *str_gmt_time_max, double missing_value)
Definition: grasp_driver_settings.c:204
void grasp_driver_settings_print(FILE *stream, const char *label, const grasp_driver_settings_t *settings)
Definition: grasp_driver_settings.c:49
Definition: grasp_box.h:25
time_t gmt_time_min
Definition: grasp_driver_settings.h:30
char str_gmt_time_max[20+1]
Definition: grasp_driver_settings.h:33
int xmax
Definition: grasp_driver_settings.h:27
int xmin
Definition: grasp_driver_settings.h:26
bool grasp_driver_settings_are_valid(const grasp_driver_settings_t *settings)
Definition: grasp_driver_settings.c:113
char ** files
Definition: grasp_driver_settings.h:25