jvmti_rs/wrapper/enums/
verbose_flag.rs

1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiVerboseFlag {
5    Other,
6    Gc,
7    Class,
8    Jni,
9    Unsupported(sys::jvmtiVerboseFlag),
10}
11
12
13impl From<sys::jvmtiVerboseFlag> for JvmtiVerboseFlag {
14    fn from(value: sys::jvmtiVerboseFlag) -> Self {
15        match value {
16            sys::JVMTI_VERBOSE_OTHER => JvmtiVerboseFlag::Other,
17            sys::JVMTI_VERBOSE_GC => JvmtiVerboseFlag::Gc,
18            sys::JVMTI_VERBOSE_CLASS => JvmtiVerboseFlag::Class,
19            sys::JVMTI_VERBOSE_JNI => JvmtiVerboseFlag::Jni,
20            _ => JvmtiVerboseFlag::Unsupported(value)
21        }
22    }
23}
24
25impl From<JvmtiVerboseFlag> for sys::jvmtiVerboseFlag {
26    fn from(value: JvmtiVerboseFlag) -> Self {
27        match value {
28            JvmtiVerboseFlag::Other => sys::JVMTI_VERBOSE_OTHER,
29            JvmtiVerboseFlag::Gc => sys::JVMTI_VERBOSE_GC,
30            JvmtiVerboseFlag::Class => sys::JVMTI_VERBOSE_CLASS,
31            JvmtiVerboseFlag::Jni => sys::JVMTI_VERBOSE_JNI,
32            _ => sys::JVMTI_CONSTANT_UNSUPPORTED,
33        }
34    }
35}