pub mod ui; use kifu_core::{CoreApp, CoreRequest, CoreResponse}; use std::sync::Arc; use tokio::runtime::Runtime; #[derive(Clone)] pub struct CoreApi { pub gtk_tx: gtk::glib::Sender, pub rt: Arc, pub core: CoreApp, } impl CoreApi { pub fn dispatch(&self, request: CoreRequest) { self.rt.spawn({ let gtk_tx = self.gtk_tx.clone(); let core = self.core.clone(); async move { gtk_tx.send(core.dispatch(request).await) } }); } }