From 3cc9336b038118de424d018dd0bdd90e329ad8c1 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 9 Jan 2019 18:30:17 +0100 Subject: proj.h: add proj_context_set_file_finder() and proj_context_set_search_paths() (refs #1150) --- src/proj_internal.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/proj_internal.h') diff --git a/src/proj_internal.h b/src/proj_internal.h index 31365bce..bbadb376 100644 --- a/src/proj_internal.h +++ b/src/proj_internal.h @@ -228,9 +228,6 @@ char *pj_make_args (size_t argc, char **argv); /* Lowest level: Minimum support for fileapi */ void proj_fileapi_set (PJ *P, void *fileapi); -const char * const *proj_get_searchpath(void); -int proj_get_path_count(void); - typedef struct { double r, i; } COMPLEX; /* Forward declarations and typedefs for stuff needed inside the PJ object */ @@ -653,12 +650,21 @@ struct projCtx_t { int use_proj4_init_rules = -1; /* -1 = unknown, 0 = no, 1 = yes */ int epsg_file_exists = -1; /* -1 = unknown, 0 = no, 1 = yes */ + std::vector search_paths{}; + const char **c_compat_paths = nullptr; // same, but for projinfo usage + + const char* (*file_finder_legacy) (const char*) = nullptr; // Only for proj_api compat. To remove once it is removed + const char* (*file_finder) (PJ_CONTEXT *, const char*, void* user_data) = nullptr; + void* file_finder_user_data = nullptr; + projCtx_t() = default; projCtx_t(const projCtx_t&); ~projCtx_t(); projCtx_t& operator= (const projCtx_t&) = delete; + void set_search_paths(const std::vector& search_paths_in); + static projCtx_t createDefault(); }; -- cgit v1.2.3