| 487 | void destroyInternedString(jlong ptr) { |
| 488 | Valdi::unsafeBridgeRelease(reinterpret_cast<void*>(ptr)); |
| 489 | } |
| 490 | |
| 491 | Valdi::StringBox unwrapInternedString(jlong ptr) { |
| 492 | if (ptr == 0) { |
| 493 | return Valdi::StringBox(); |
| 494 | } |
| 495 | |
| 496 | return Valdi::StringBox(Valdi::unsafeBridge<Valdi::InternedStringImpl>(reinterpret_cast<void*>(ptr))); |
| 497 | } |
| 498 | |
| 499 | Valdi::BytesView toByteArray(JavaEnv /*env*/, jbyteArray array) { |
| 500 | auto jLength = JavaEnv::accessEnvRet([&](JNIEnv& env) -> jint { return env.GetArrayLength(array); }); |
| 501 | |
| 502 | auto bytes = Valdi::makeShared<Valdi::Bytes>(); |
| 503 | bytes->resize(static_cast<size_t>(jLength)); |