26 Java_org_panda3d_android_NativeIStream_nativeGet(JNIEnv *env, jclass clazz, jlong ptr) {
27 std::istream *stream = (std::istream *) ptr;
29 int ch = stream->get();
30 return stream->good() ? ch : -1;
41 Java_org_panda3d_android_NativeIStream_nativeRead(JNIEnv *env, jclass clazz, jlong ptr, jbyteArray byte_array, jint offset, jint length) {
42 std::istream *stream = (std::istream *) ptr;
43 jbyte *buffer = (jbyte *) env->GetPrimitiveArrayCritical(byte_array, NULL);
48 stream->read((
char*) buffer + offset, length);
49 env->ReleasePrimitiveArrayCritical(byte_array, buffer, 0);
52 size_t count = stream->gcount();
53 if (count == 0 && stream->eof()) {
67 Java_org_panda3d_android_NativeIStream_nativeIgnore(JNIEnv *env, jclass clazz, jlong ptr, jlong offset) {
68 std::istream *stream = (std::istream *) ptr;
69 stream->ignore(offset);
70 return stream->gcount();