pub struct SignalBuilder { /* private fields */ }
Expand description
Builder for signals.
Implementations§
§impl SignalBuilder
impl SignalBuilder
pub fn param_types(
self,
param_types: impl IntoIterator<Item = impl Into<SignalType>>
) -> SignalBuilder
pub fn param_types( self, param_types: impl IntoIterator<Item = impl Into<SignalType>> ) -> SignalBuilder
The signal’s parameters.
pub fn return_type<T>(self) -> SignalBuilderwhere
T: StaticType,
pub fn return_type<T>(self) -> SignalBuilderwhere T: StaticType,
The signal’s returned value type.
pub fn return_type_from(self, type_: impl Into<SignalType>) -> SignalBuilder
pub fn return_type_from(self, type_: impl Into<SignalType>) -> SignalBuilder
The signal’s returned value type.
pub fn run_first(self) -> SignalBuilder
pub fn run_first(self) -> SignalBuilder
Run the signal class handler in the first emission stage.
pub fn run_last(self) -> SignalBuilder
pub fn run_last(self) -> SignalBuilder
Run the signal class handler in the third emission stage.
pub fn run_cleanup(self) -> SignalBuilder
pub fn run_cleanup(self) -> SignalBuilder
Run the signal class handler in the last emission stage.
pub fn no_recurse(self) -> SignalBuilder
pub fn no_recurse(self) -> SignalBuilder
Signals being emitted for an object while currently being in emission for this very object will not be emitted recursively, but instead cause the first emission to be restarted.
pub fn detailed(self) -> SignalBuilder
pub fn detailed(self) -> SignalBuilder
This signal supports “::detail” appendices to the signal name upon handler connections and emissions.
pub fn action(self) -> SignalBuilder
pub fn action(self) -> SignalBuilder
Action signals are signals that may freely be emitted on alive objects from user code.
pub fn no_hooks(self) -> SignalBuilder
pub fn no_hooks(self) -> SignalBuilder
No emissions hooks are supported for this signal.
pub fn must_collect(self) -> SignalBuilder
pub fn must_collect(self) -> SignalBuilder
Varargs signal emission will always collect the arguments, even if there are no signal handlers connected.
pub fn deprecated(self) -> SignalBuilder
pub fn deprecated(self) -> SignalBuilder
The signal is deprecated and will be removed in a future version.
pub fn flags(self, flags: SignalFlags) -> SignalBuilder
pub fn flags(self, flags: SignalFlags) -> SignalBuilder
Explicitly set all flags.
This overrides previously set flags on this builder.
pub fn class_handler<F>(self, func: F) -> SignalBuilderwhere
F: Fn(&SignalClassHandlerToken, &[Value]) -> Option<Value> + Send + Sync + 'static,
pub fn class_handler<F>(self, func: F) -> SignalBuilderwhere F: Fn(&SignalClassHandlerToken, &[Value]) -> Option<Value> + Send + Sync + 'static,
Class handler for this signal.
pub fn accumulator<F>(self, func: F) -> SignalBuilderwhere
F: Fn(&SignalInvocationHint, &mut Value, &Value) -> bool + Send + Sync + 'static,
pub fn accumulator<F>(self, func: F) -> SignalBuilderwhere F: Fn(&SignalInvocationHint, &mut Value, &Value) -> bool + Send + Sync + 'static,
Accumulator for the return values of the signal.
This is called if multiple signal handlers are connected to the signal for accumulating the return values into a single value.