dmsc/java/classes/
queue.rs1use jni::JNIEnv;
23use jni::objects::JClass;
24use jni::sys::jlong;
25use crate::queue::{DMSCQueueModule, DMSCQueueConfig};
26use crate::java::exception::check_not_null;
27
28#[no_mangle]
29pub extern "system" fn Java_com_dunimd_dmsc_queue_DMSCQueueModule_new0(
30 mut env: JNIEnv,
31 _class: JClass,
32 config_ptr: jlong,
33) -> jlong {
34 if !check_not_null(&mut env, config_ptr, "DMSCQueueConfig") {
35 return 0;
36 }
37 0
38}
39
40#[no_mangle]
41pub extern "system" fn Java_com_dunimd_dmsc_queue_DMSCQueueModule_free0(
42 _env: JNIEnv,
43 _class: JClass,
44 ptr: jlong,
45) {
46 if ptr != 0 {
47 unsafe {
48 let _ = Box::from_raw(ptr as *mut DMSCQueueModule);
49 }
50 }
51}
52
53#[no_mangle]
54pub extern "system" fn Java_com_dunimd_dmsc_queue_DMSCQueueConfig_new0(
55 _env: JNIEnv,
56 _class: JClass,
57) -> jlong {
58 let config = Box::new(DMSCQueueConfig::default());
59 Box::into_raw(config) as jlong
60}
61
62#[no_mangle]
63pub extern "system" fn Java_com_dunimd_dmsc_queue_DMSCQueueConfig_free0(
64 _env: JNIEnv,
65 _class: JClass,
66 ptr: jlong,
67) {
68 if ptr != 0 {
69 unsafe {
70 let _ = Box::from_raw(ptr as *mut DMSCQueueConfig);
71 }
72 }
73}