discord-rpc-client/examples/java.rs

32 lines
1.2 KiB
Rust

use discord_rpc_client::java::*;
use jni::JNIEnv;
use jni::objects::{JClass, JString, JObject};
// can't just put these in src/java.rs and reexport because of some tree-shaking that the compiler does.
#[no_mangle]
pub extern "system" fn Java_com_discord_rpc_DiscordRPC_create<'a>(env: JNIEnv<'a>, class: JClass) -> JObject<'a> {
Java_com_discord_rpc_DiscordRPC_create0(env, class).unwrap_or(JObject::null())
}
#[no_mangle]
pub extern "system" fn Java_com_discord_rpc_DiscordRPC_connect(env: JNIEnv, obj: JObject, client_id: JString) -> bool {
Java_com_discord_rpc_DiscordRPC_connect0(env, obj, client_id).is_ok()
}
#[no_mangle]
pub extern "system" fn Java_com_discord_rpc_DiscordRPC_disconnect(env: JNIEnv, obj: JObject) -> bool {
Java_com_discord_rpc_DiscordRPC_disconnect0(env, obj).is_ok()
}
#[no_mangle]
pub extern "system" fn Java_com_discord_rpc_DiscordRPC_setActivity(env: JNIEnv, obj: JObject, j_activity: JObject) -> bool {
Java_com_discord_rpc_DiscordRPC_setActivity0(env, obj, j_activity).is_ok()
}
#[no_mangle]
pub extern "system" fn Java_com_discord_rpc_DiscordRPC_clearActivity(env: JNIEnv, obj: JObject) -> bool {
Java_com_discord_rpc_DiscordRPC_clearActivity0(env, obj).is_ok()
}