mod connect_builder;
mod connect_handle;
mod signal_connections_registry;
mod signal_object;
mod signal_receiver;
mod typed_signal;
use std::borrow::Cow;
pub use connect_builder::ConnectBuilder;
pub use connect_handle::ConnectHandle;
pub use signal_receiver::{IndirectSignalReceiver, SignalReceiver};
pub use typed_signal::TypedSignal;
#[doc(hidden)]
pub mod priv_re_export {
pub use super::signal_object::{
UserSignalObject, signal_collection_to_base, signal_collection_to_base_mut,
};
}
pub(crate) use signal_connections_registry::prune_stored_signal_connections;
pub(crate) use signal_object::SignalObject;
use crate::builtin::{CowStr, Variant};
use crate::meta;
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>())
}