1 use crate::sys::{ 2 JNI_VERSION_1_1, JNI_VERSION_1_2, JNI_VERSION_1_4, JNI_VERSION_1_6, JNI_VERSION_1_8, 3 }; 4 5 /// JNI Version 6 /// 7 /// This maps to the `jni_sys::JNI_VERSION_1_*` constants. 8 #[derive(Debug, Copy, Clone)] 9 #[allow(missing_docs)] 10 pub enum JNIVersion { 11 V1, 12 V2, 13 V4, 14 V6, 15 V8, 16 Invalid(i32), 17 } 18 19 impl From<i32> for JNIVersion { from(other: i32) -> Self20 fn from(other: i32) -> Self { 21 match other { 22 JNI_VERSION_1_1 => JNIVersion::V1, 23 JNI_VERSION_1_2 => JNIVersion::V2, 24 JNI_VERSION_1_4 => JNIVersion::V4, 25 JNI_VERSION_1_6 => JNIVersion::V6, 26 JNI_VERSION_1_8 => JNIVersion::V8, 27 v => JNIVersion::Invalid(v), 28 } 29 } 30 } 31 32 impl From<JNIVersion> for i32 { from(other: JNIVersion) -> Self33 fn from(other: JNIVersion) -> Self { 34 match other { 35 JNIVersion::V1 => JNI_VERSION_1_1, 36 JNIVersion::V2 => JNI_VERSION_1_2, 37 JNIVersion::V4 => JNI_VERSION_1_4, 38 JNIVersion::V6 => JNI_VERSION_1_6, 39 JNIVersion::V8 => JNI_VERSION_1_8, 40 JNIVersion::Invalid(v) => v, 41 } 42 } 43 } 44