pub struct SignalBuilder { /* private fields */ }
Expand description

Builder for signals.

Implementations§

§

impl 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,

The signal’s returned value type.

pub fn return_type_from(self, type_: impl Into<SignalType>) -> SignalBuilder

The signal’s returned value type.

pub fn run_first(self) -> SignalBuilder

Run the signal class handler in the first emission stage.

pub fn run_last(self) -> SignalBuilder

Run the signal class handler in the third emission stage.

pub fn run_cleanup(self) -> SignalBuilder

Run the signal class handler in the last emission stage.

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

This signal supports “::detail” appendices to the signal name upon handler connections and emissions.

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

No emissions hooks are supported for this signal.

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

The signal is deprecated and will be removed in a future version.

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,

Class handler for this signal.

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.

pub fn build(self) -> Signal

Build the signal.

This does not register the signal yet, which only happens as part of object type registration.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> RoundFrom<T> for T

§

fn round_from(x: T) -> T

Performs the conversion.
§

impl<T, U> RoundInto<U> for Twhere U: RoundFrom<T>,

§

fn round_into(self) -> U

Performs the conversion.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more