3
#include "ThrowException.h"
6
JNIEXPORT jstring JNICALL Java_geotrans_jni_JNIStrtoval_JNIErrorPrefix(JNIEnv *env, jobject obj, jint direction, jint system)
11
Error_Prefix(direction, system, "", str);
12
jStr = ((*env)->NewStringUTF(env, str));
14
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
20
JNIEXPORT jstring JNICALL Java_geotrans_jni_JNIStrtoval_JNILatitudeToString(JNIEnv *env, jobject obj, jdouble latitude, jboolean use_NSEW, jboolean use_Minutes, jboolean use_Seconds)
25
if (Latitude_to_String(latitude, str, use_NSEW, use_Minutes, use_Seconds))
27
throwException(env, "geotrans/jni/GeotransError", "Invalid latitude.");
31
jStr = ((*env)->NewStringUTF(env, str));
33
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
39
JNIEXPORT jstring JNICALL Java_geotrans_jni_JNIStrtoval_JNILongitudeToString(JNIEnv *env, jobject obj, jdouble longitude, jboolean use_NSEW, jboolean use_Minutes, jboolean use_Seconds)
44
if (Longitude_to_String(longitude, str, use_NSEW, use_Minutes, use_Seconds))
46
throwException(env, "geotrans/jni/GeotransError", "Invalid longitude.");
50
jStr = ((*env)->NewStringUTF(env, str));
52
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
58
JNIEXPORT jstring JNICALL Java_geotrans_jni_JNIStrtoval_JNIMeterToString(JNIEnv *env, jobject obj, jdouble meters)
63
if (Meter_to_String(meters, str))
65
throwException(env, "geotrans/jni/GeotransError", "Error converting meters to string.");
69
jStr = ((*env)->NewStringUTF(env, str));
71
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
77
JNIEXPORT void JNICALL Java_geotrans_jni_JNIStrtoval_JNISetSeparator(JNIEnv *env, jobject obj, jchar separator)
79
Set_Separator((char)separator);
83
JNIEXPORT void JNICALL Java_geotrans_jni_JNIStrtoval_JNISetLongRange(JNIEnv *env, jobject obj, jint range)
85
Set_Long_Range(range);
89
JNIEXPORT void JNICALL Java_geotrans_jni_JNIStrtoval_JNISetLatLongPrecision(JNIEnv *env, jobject obj, jlong precis)
91
Set_Lat_Long_Precision((long)precis);
95
JNIEXPORT void JNICALL Java_geotrans_jni_JNIStrtoval_JNIShowLeadingZeros(JNIEnv *env, jobject obj, jboolean lz)
97
Show_Leading_Zeros(lz);
101
JNIEXPORT jdouble JNICALL Java_geotrans_jni_JNIStrtoval_JNIStringToDouble(JNIEnv *env, jobject obj, jstring jStr)
107
cStr = (*env)->GetStringUTFChars(env, jStr, NULL);
110
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
114
if (String_to_Double(cStr, &num))
115
throwException(env, "geotrans/jni/GeotransError", "Error converting string to double.");
117
(*env)->ReleaseStringUTFChars(env, jStr, cStr);
123
JNIEXPORT jdouble JNICALL Java_geotrans_jni_JNIStrtoval_JNIStringToLatitude(JNIEnv *env, jobject obj, jstring jStr)
128
cStr = (*env)->GetStringUTFChars(env, jStr, NULL);
131
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
135
if (String_to_Latitude(cStr, &lat))
136
throwException(env, "geotrans/jni/GeotransError", "Invalid latitude string.");
138
(*env)->ReleaseStringUTFChars(env, jStr, cStr);
144
JNIEXPORT jlong JNICALL Java_geotrans_jni_JNIStrtoval_JNIStringToLong(JNIEnv *env, jobject obj, jstring jStr)
149
cStr = (*env)->GetStringUTFChars(env, jStr, NULL);
152
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
156
if (String_to_Long(cStr, &num))
157
throwException(env, "geotrans/jni/GeotransError", "Error converting string to long.");
159
(*env)->ReleaseStringUTFChars(env, jStr, cStr);
165
JNIEXPORT jdouble JNICALL Java_geotrans_jni_JNIStrtoval_JNIStringToLongitude(JNIEnv *env, jobject obj, jstring jStr)
170
cStr = (*env)->GetStringUTFChars(env, jStr, NULL);
173
throwException(env, "geotrans/jni/JNIException", "JNI Exception: Out of memory.");
177
if (String_to_Longitude(cStr, &lon))
178
throwException(env, "geotrans/jni/GeotransError", "Invalid longitude string.");
180
(*env)->ReleaseStringUTFChars(env, jStr, cStr);