#ifndef GEOJSON_HPP #define GEOJSON_HPP #include #include #include #include #include "mbtiles.hpp" #include "jsonpull/jsonpull.h" struct parse_json_args { json_pull *jp; const char *reading; volatile long long *layer_seq; volatile long long *progress_seq; long long *metapos; long long *geompos; long long *indexpos; std::set *exclude; std::set *include; int exclude_all; FILE *metafile; FILE *geomfile; FILE *indexfile; struct memfile *poolfile; struct memfile *treefile; char *fname; int basezoom; int layer; double droprate; long long *file_bbox; int segment; int *initialized; unsigned *initial_x; unsigned *initial_y; struct reader *readers; int maxzoom; std::map *layermap; std::string *layername; bool uses_gamma; std::map const *attribute_types; double *dist_sum; size_t *dist_count; bool want_dist; }; struct json_pull *json_begin_map(char *map, long long len); void json_end_map(struct json_pull *jp); void parse_json(json_pull *jp, const char *reading, volatile long long *layer_seq, volatile long long *progress_seq, long long *metapos, long long *geompos, long long *indexpos, std::set *exclude, std::set *include, int exclude_all, FILE *metafile, FILE *geomfile, FILE *indexfile, struct memfile *poolfile, struct memfile *treefile, char *fname, int basezoom, int layer, double droprate, long long *file_bbox, int segment, int *initialized, unsigned *initial_x, unsigned *initial_y, struct reader *readers, int maxzoom, std::map *layermap, std::string layername, bool uses_gamma, std::map const *attribute_types, double *dist_sum, size_t *dist_count, bool want_dist); void *run_parse_json(void *v); #endif