unloads the PROJ library and sets all associated function pointers to nullptr.
| 875 | |
| 876 | /// unloads the PROJ library and sets all associated function pointers to nullptr. |
| 877 | void unload_proj_library() { |
| 878 | if (proj_lib_handle) { // Check whether lib_handle is valid |
| 879 | FREE_LIBRARY(proj_lib_handle); // Unload library |
| 880 | proj_lib_handle = nullptr; // Set handle to nullptr |
| 881 | } |
| 882 | |
| 883 | // Set function pointer to nullptr |
| 884 | proj_as_wkt_ptr = nullptr; |
| 885 | proj_as_proj_string_ptr = nullptr; |
| 886 | proj_as_projjson_ptr = nullptr; |
| 887 | proj_get_source_crs_ptr = nullptr; |
| 888 | proj_get_target_crs_ptr = nullptr; |
| 889 | proj_destroy_ptr = nullptr; |
| 890 | proj_context_create_ptr = nullptr; |
| 891 | proj_context_destroy_ptr = nullptr; |
| 892 | proj_get_id_code_ptr = nullptr; |
| 893 | proj_get_ellipsoid_ptr = nullptr; |
| 894 | proj_ellipsoid_get_parameters_ptr = nullptr; |
| 895 | proj_crs_get_datum_ensemble_ptr = nullptr; |
| 896 | proj_get_name_ptr = nullptr; |
| 897 | proj_datum_ensemble_get_member_count_ptr = nullptr; |
| 898 | proj_datum_ensemble_get_accuracy_ptr = nullptr; |
| 899 | proj_datum_ensemble_get_member_ptr = nullptr; |
| 900 | proj_crs_get_datum_ptr = nullptr; |
| 901 | proj_crs_get_coordinate_system_ptr = nullptr; |
| 902 | proj_cs_get_type_ptr = nullptr; |
| 903 | proj_cs_get_axis_count_ptr = nullptr; |
| 904 | proj_cs_get_axis_info_ptr = nullptr; |
| 905 | proj_create_ptr = nullptr; |
| 906 | proj_create_argv_ptr = nullptr; |
| 907 | proj_create_crs_to_crs_ptr = nullptr; |
| 908 | proj_create_crs_to_crs_from_pj_ptr = nullptr; |
| 909 | proj_create_from_wkt_ptr = nullptr; |
| 910 | proj_context_errno_ptr = nullptr; |
| 911 | proj_context_errno_string_ptr = nullptr; |
| 912 | proj_coord_ptr = nullptr; |
| 913 | proj_trans_ptr = nullptr; |
| 914 | proj_get_type_ptr = nullptr; |
| 915 | proj_is_crs_ptr = nullptr; |
| 916 | proj_info_ptr = nullptr; |
| 917 | proj_log_func_ptr = nullptr; |
| 918 | } |
| 919 | |
| 920 | /// User-specific error handler for PROJ errors and warnings |
| 921 | extern "C" void myCustomProjErrorHandler(void* app_data, int level, const char* msg) { |
no outgoing calls
no test coverage detected