jvmti_rs/wrapper/enums/
phase.rs

1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiPhase {
5    Onload,
6    Primordial,
7    Start,
8    Live,
9    Dead,
10    Unsupported(sys::jvmtiPhase),
11}
12
13impl From<sys::jvmtiPhase> for JvmtiPhase {
14    fn from(value: sys::jvmtiPhase) -> Self {
15        match value {
16            sys::JVMTI_PHASE_ONLOAD => JvmtiPhase::Onload,
17            sys::JVMTI_PHASE_PRIMORDIAL => JvmtiPhase::Primordial,
18            sys::JVMTI_PHASE_START => JvmtiPhase::Start,
19            sys::JVMTI_PHASE_LIVE => JvmtiPhase::Live,
20            sys::JVMTI_PHASE_DEAD => JvmtiPhase::Dead,
21            _ => JvmtiPhase::Unsupported(value)
22        }
23    }
24}
25
26impl From<JvmtiPhase> for sys::jvmtiPhase {
27    fn from(value: JvmtiPhase) -> Self {
28        match value {
29            JvmtiPhase::Onload => sys::JVMTI_PHASE_ONLOAD,
30            JvmtiPhase::Primordial => sys::JVMTI_PHASE_PRIMORDIAL,
31            JvmtiPhase::Start => sys::JVMTI_PHASE_START,
32            JvmtiPhase::Live => sys::JVMTI_PHASE_LIVE,
33            JvmtiPhase::Dead => sys::JVMTI_PHASE_DEAD,
34            _ => sys::JVMTI_CONSTANT_UNSUPPORTED,
35        }
36    }
37}