use crate::AppError;
#[cfg(not(target_family = "wasm"))]
use crate::interface_os::{send_rust_signal_real, start_rust_logic_real};
#[cfg(target_family = "wasm")]
use crate::interface_web::{send_rust_signal_real, start_rust_logic_real};
#[cfg_attr(feature = "bevy", derive(bevy_ecs::event::Event))]
pub struct DartSignalPack<T> {
pub message: T,
pub binary: Vec<u8>,
}
#[doc(hidden)]
#[cfg(not(target_family = "wasm"))]
pub fn start_rust_logic<F, T>(main_fn: F) -> Result<(), AppError>
where
F: Fn() -> T + Send + 'static,
{
start_rust_logic_real(main_fn)
}
#[cfg(target_family = "wasm")]
pub fn start_rust_logic<F, T>(main_fn: F) -> Result<(), AppError>
where
F: Fn() -> T + 'static,
{
start_rust_logic_real(main_fn)
}
#[doc(hidden)]
pub fn send_rust_signal(
endpoint: &str,
message_bytes: Vec<u8>,
binary: Vec<u8>,
) -> Result<(), AppError> {
send_rust_signal_real(endpoint, message_bytes, binary)
}