diff options
| author | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2020-02-24 09:32:55 +0000 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2020-02-24 09:32:55 +0000 |
| commit | 9f1afa969a3a18bd2b8298968799c206c63d2a19 (patch) | |
| tree | 84d8bf3644da6398cd0abeed0a5435f9863d727c /src/networkfilemanager.cpp | |
| parent | 595686c3235a0c9a7fb05e3f4927a569963fcbc6 (diff) | |
| download | PROJ-9f1afa969a3a18bd2b8298968799c206c63d2a19.tar.gz PROJ-9f1afa969a3a18bd2b8298968799c206c63d2a19.zip | |
Expose proj_context_is_network_enabled() in C API
Diffstat (limited to 'src/networkfilemanager.cpp')
| -rw-r--r-- | src/networkfilemanager.cpp | 48 |
1 files changed, 28 insertions, 20 deletions
diff --git a/src/networkfilemanager.cpp b/src/networkfilemanager.cpp index d252fd84..28d8baa2 100644 --- a/src/networkfilemanager.cpp +++ b/src/networkfilemanager.cpp @@ -2023,6 +2023,32 @@ int proj_context_set_enable_network(PJ_CONTEXT *ctx, int enable) { #endif } +// --------------------------------------------------------------------------- + +/** Return if network access is enabled. +* +* @param ctx PROJ context, or NULL +* @return TRUE if network access has been enabled +* @since 7.0 +*/ +int proj_context_is_network_enabled(PJ_CONTEXT *ctx) { + if (ctx == nullptr) { + ctx = pj_get_default_ctx(); + } + if (ctx->networking.enabled_env_variable_checked) { + return ctx->networking.enabled; + } + const char *enabled = getenv("PROJ_NETWORK"); + if (enabled && enabled[0] != '\0') { + ctx->networking.enabled = ci_equal(enabled, "ON") || + ci_equal(enabled, "YES") || + ci_equal(enabled, "TRUE"); + } + pj_load_ini(ctx); + ctx->networking.enabled_env_variable_checked = true; + return ctx->networking.enabled; +} + //! @endcond // --------------------------------------------------------------------------- @@ -2177,7 +2203,7 @@ int proj_is_download_needed(PJ_CONTEXT *ctx, const char *url_or_filename, if (ctx == nullptr) { ctx = pj_get_default_ctx(); } - if (!pj_context_is_network_enabled(ctx)) { + if (!proj_context_is_network_enabled(ctx)) { pj_log(ctx, PJ_LOG_ERROR, "Networking capabilities are not enabled"); return false; } @@ -2313,7 +2339,7 @@ int proj_download_file(PJ_CONTEXT *ctx, const char *url_or_filename, if (ctx == nullptr) { ctx = pj_get_default_ctx(); } - if (!pj_context_is_network_enabled(ctx)) { + if (!proj_context_is_network_enabled(ctx)) { pj_log(ctx, PJ_LOG_ERROR, "Networking capabilities are not enabled"); return false; } @@ -2503,24 +2529,6 @@ int proj_download_file(PJ_CONTEXT *ctx, const char *url_or_filename, //! @cond Doxygen_Suppress -bool pj_context_is_network_enabled(PJ_CONTEXT *ctx) { - if (ctx == nullptr) { - ctx = pj_get_default_ctx(); - } - if (ctx->networking.enabled_env_variable_checked) { - return ctx->networking.enabled; - } - const char *enabled = getenv("PROJ_NETWORK"); - if (enabled && enabled[0] != '\0') { - ctx->networking.enabled = ci_equal(enabled, "ON") || - ci_equal(enabled, "YES") || - ci_equal(enabled, "TRUE"); - } - pj_load_ini(ctx); - ctx->networking.enabled_env_variable_checked = true; - return ctx->networking.enabled; -} - // --------------------------------------------------------------------------- std::string pj_context_get_grid_cache_filename(PJ_CONTEXT *ctx) { |
