mod connect_builder;
mod connect_handle;
mod signal_connections_registry;
mod signal_object;
mod signal_receiver;
mod typed_signal;
use std::borrow::Cow;
pub(crate) use connect_builder::*;
pub(crate) use connect_handle::*;
pub(crate) use signal_connections_registry::*;
pub(crate) use signal_object::*;
pub(crate) use typed_signal::*;
use crate::builtin::{CowStr, Variant};
use crate::meta;
pub mod re_export {
pub use super::connect_builder::ConnectBuilder;
pub use super::connect_handle::ConnectHandle;
pub use super::signal_receiver::{IndirectSignalReceiver, SignalReceiver};
pub use super::typed_signal::TypedSignal;
}
pub mod priv_re_export {
pub use super::signal_object::{
UserSignalObject, signal_collection_to_base, signal_collection_to_base_mut,
};
}
fn make_godot_fn<Ps, F>(mut input: F) -> impl FnMut(&[&Variant]) -> Variant
where
F: FnMut(Ps),
Ps: meta::InParamTuple,
{
move |variant_args: &[&Variant]| {
let args = Ps::from_variant_array(variant_args);
input(args);
Variant::nil()
}
}
fn make_callable_name<F>() -> CowStr {
Cow::Borrowed(std::any::type_name::<F>())
}