14 #ifndef OR_TOOLS_BASE_JNIUTIL_H_
15 #define OR_TOOLS_BASE_JNIUTIL_H_
28 if (cstr == NULL)
return NULL;
29 return env->NewStringUTF(cstr);
35 if (str == NULL)
return NULL;
36 jsize length = env->GetStringUTFLength(str);
37 const char* src = env->GetStringUTFChars(str, NULL);
38 char* dst =
new char[length + 1];
39 memcpy(dst, src, length);
41 env->ReleaseStringUTFChars(str, src);
48 jsize n = env->GetArrayLength(
a);
50 jbyte* jba =
new jbyte[n];
52 env->GetByteArrayRegion(
a, 0, n, jba);
55 return reinterpret_cast<char*
>(jba);
61 jbyteArray output = env->NewByteArray(size);
63 env->SetByteArrayRegion(output, 0, size,
reinterpret_cast<const jbyte*
>(
a));
68 #endif // OR_TOOLS_BASE_JNIUTIL_H_