aboutsummaryrefslogtreecommitdiff
path: root/src/proj_internal.h
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-01-09 18:30:17 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-01-09 19:45:21 +0100
commit3cc9336b038118de424d018dd0bdd90e329ad8c1 (patch)
tree790ceaa32d7217f7667264217ecdec6db5c5d3b9 /src/proj_internal.h
parentd6dad2cee4307f6b190a96dd48942645060919cc (diff)
downloadPROJ-3cc9336b038118de424d018dd0bdd90e329ad8c1.tar.gz
PROJ-3cc9336b038118de424d018dd0bdd90e329ad8c1.zip
proj.h: add proj_context_set_file_finder() and proj_context_set_search_paths() (refs #1150)
Diffstat (limited to 'src/proj_internal.h')
-rw-r--r--src/proj_internal.h12
1 files changed, 9 insertions, 3 deletions
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<std::string> 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<std::string>& search_paths_in);
+
static projCtx_t createDefault();
};