chore: fixed imports

This commit is contained in:
əlemi 2024-10-03 04:05:58 +02:00
parent 535de6c2fc
commit 8225524cb3
Signed by: alemi
GPG key ID: A4895B84D311642C
7 changed files with 42 additions and 33 deletions

View file

@ -6,7 +6,10 @@ use std::sync::Arc;
use tokio::sync::{mpsc, oneshot, watch};
use crate::{
api::{controller::{AsyncReceiver, AsyncSender, ControllerCallback}, Controller, Cursor},
api::{
controller::{AsyncReceiver, AsyncSender, ControllerCallback},
Controller, Cursor,
},
errors::ControllerResult,
};
use codemp_proto::{

View file

@ -2,7 +2,10 @@ use jni::{objects::JObject, JNIEnv};
use jni_toolbox::jni;
use crate::{
api::{controller::{AsyncReceiver, AsyncSender}, TextChange},
api::{
controller::{AsyncReceiver, AsyncSender},
TextChange,
},
errors::ControllerError,
};

View file

@ -1,13 +1,12 @@
use crate::{
api::{Controller, Cursor},
api::{
controller::{AsyncReceiver, AsyncSender},
Cursor,
},
errors::ControllerError,
};
use jni::{objects::JObject, JNIEnv};
use jni_toolbox::jni;
use crate::{
api::{controller::{AsyncSender, AsyncReceiver}, Cursor},
errors::ControllerError
};
use super::null_check;

View file

@ -1,8 +1,10 @@
use crate::{
api::controller::AsyncReceiver,
errors::{ConnectionError, ControllerError, RemoteError},
ffi::java::null_check,
Workspace,
};
use jni::{objects::JObject, JNIEnv};
use jni_toolbox::jni;
/// Get the workspace id.
@ -115,17 +117,25 @@ fn clear_callback(workspace: &mut Workspace) {
/// Register a callback for workspace events.
#[jni(package = "mp.code", class = "Workspace")]
fn callback<'local>(env: &mut JNIEnv<'local>, controller: &mut crate::Workspace, cb: JObject<'local>) {
fn callback<'local>(
env: &mut JNIEnv<'local>,
controller: &mut crate::Workspace,
cb: JObject<'local>,
) {
null_check!(env, cb, {});
let Ok(cb_ref) = env.new_global_ref(cb) else {
env.throw_new("mp/code/exceptions/JNIException", "Failed to pin callback reference!")
.expect("Failed to throw exception!");
env.throw_new(
"mp/code/exceptions/JNIException",
"Failed to pin callback reference!",
)
.expect("Failed to throw exception!");
return;
};
controller.callback(move |workspace: crate::Workspace| {
let jvm = super::jvm();
let mut env = jvm.attach_current_thread_permanently()
let mut env = jvm
.attach_current_thread_permanently()
.expect("failed attaching to main JVM thread");
if let Err(e) = env.with_local_frame(5, |env| {
use jni_toolbox::IntoJavaObject;
@ -134,7 +144,7 @@ fn callback<'local>(env: &mut JNIEnv<'local>, controller: &mut crate::Workspace,
&cb_ref,
"accept",
"(Ljava/lang/Object;)V",
&[jni::objects::JValueGen::Object(&jworkspace)]
&[jni::objects::JValueGen::Object(&jworkspace)],
) {
tracing::error!("error invoking callback: {e:?}");
};

View file

@ -1,7 +1,5 @@
use napi::threadsafe_function::{ErrorStrategy::Fatal, ThreadSafeCallContext, ThreadsafeFunction, ThreadsafeFunctionCallMode};
use napi_derive::napi;
use crate::api::TextChange;
use crate::api::controller::{AsyncReceiver, AsyncSender};
use crate::api::TextChange;
use crate::buffer::controller::BufferController;
use napi::threadsafe_function::{
ErrorStrategy::Fatal, ThreadSafeCallContext, ThreadsafeFunction, ThreadsafeFunctionCallMode,

View file

@ -1,6 +1,3 @@
use napi::threadsafe_function::ErrorStrategy::Fatal;
use napi_derive::napi;
use napi::threadsafe_function::{ThreadsafeFunction, ThreadSafeCallContext, ThreadsafeFunctionCallMode};
use crate::api::controller::{AsyncReceiver, AsyncSender};
use crate::cursor::controller::CursorController;
use napi::threadsafe_function::ErrorStrategy::Fatal;

View file

@ -1,11 +1,14 @@
use napi::threadsafe_function::ErrorStrategy::Fatal;
use napi::threadsafe_function::{ThreadSafeCallContext, ThreadsafeFunction, ThreadsafeFunctionCallMode};
use napi_derive::napi;
use crate::Workspace;
use crate::api::controller::AsyncReceiver;
use crate::buffer::controller::BufferController;
use crate::cursor::controller::CursorController;
use crate::api::controller::AsyncReceiver;
use crate::Workspace;
use napi::threadsafe_function::ErrorStrategy::Fatal;
use napi::threadsafe_function::{
ThreadSafeCallContext, ThreadsafeFunction, ThreadsafeFunctionCallMode,
};
use napi_derive::napi;
use super::client::JsUser;
#[napi(object, js_name = "Event")]
pub struct JsEvent {
@ -111,18 +114,14 @@ impl Workspace {
}
#[napi(js_name = "callback", ts_args_type = "fun: (event: Workspace) => void")]
pub fn js_callback(&self, fun: napi::JsFunction) -> napi::Result<()>{
let tsfn : ThreadsafeFunction<crate::Workspace, Fatal> =
fun.create_threadsafe_function(0,
|ctx : ThreadSafeCallContext<crate::Workspace>| {
pub fn js_callback(&self, fun: napi::JsFunction) -> napi::Result<()> {
let tsfn: ThreadsafeFunction<crate::Workspace, Fatal> = fun
.create_threadsafe_function(0, |ctx: ThreadSafeCallContext<crate::Workspace>| {
Ok(vec![ctx.value])
}
)?;
self.callback(move |controller : Workspace| {
})?;
self.callback(move |controller: Workspace| {
tsfn.call(controller.clone(), ThreadsafeFunctionCallMode::Blocking); //check this with tracing also we could use Ok(event) to get the error
// If it blocks the main thread too many time we have to change this
// If it blocks the main thread too many time we have to change this
});
Ok(())