Skip to main content

ClusterAsyncHandler

Trait ClusterAsyncHandler 

Source
pub trait ClusterAsyncHandler {
    const CLUSTER: Cluster<'static>;
Show 18 methods // Required methods fn dataver(&self) -> u32; fn dataver_changed(&self); async fn current_state<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, DimensionStateStructBuilder<P>>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn target_state<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, DimensionStateStructBuilder<P>>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_set_target( &self, ctx: impl InvokeContext, request: SetTargetRequest<'_>, ) -> Result<(), Error>; async fn handle_step( &self, ctx: impl InvokeContext, request: StepRequest<'_>, ) -> Result<(), Error>; // Provided methods fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error> { ... } fn run( &self, _ctx: impl HandlerContext, ) -> impl Future<Output = Result<(), Error>> { ... } fn resolution( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>> { ... } fn step_value( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>> { ... } fn unit( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<ClosureUnitEnum, Error>> { ... } fn unit_range<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, UnitRangeStructBuilder<P>>, ) -> impl Future<Output = Result<P, Error>> where P: TLVBuilderParent { ... } fn limit_range<P>( &self, ctx: impl ReadContext, builder: RangePercent100thsStructBuilder<P>, ) -> impl Future<Output = Result<P, Error>> where P: TLVBuilderParent { ... } fn translation_direction( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<TranslationDirectionEnum, Error>> { ... } fn rotation_axis( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<RotationAxisEnum, Error>> { ... } fn overflow( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<OverflowEnum, Error>> { ... } fn modulation_type( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<ModulationTypeEnum, Error>> { ... } fn latch_control_modes( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<LatchControlModesBitmap, Error>> { ... }
}
Expand description

The handler trait for the cluster.

Required Associated Constants§

Source

const CLUSTER: Cluster<'static>

The cluster-metadata corresponding to this handler trait.

Required Methods§

Source

fn dataver(&self) -> u32

Source

fn dataver_changed(&self)

Source

async fn current_state<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, DimensionStateStructBuilder<P>>, ) -> Result<P, Error>

Source

async fn target_state<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, DimensionStateStructBuilder<P>>, ) -> Result<P, Error>

Source

async fn handle_set_target( &self, ctx: impl InvokeContext, request: SetTargetRequest<'_>, ) -> Result<(), Error>

Source

async fn handle_step( &self, ctx: impl InvokeContext, request: StepRequest<'_>, ) -> Result<(), Error>

Provided Methods§

Source

fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error>

Source

fn run( &self, _ctx: impl HandlerContext, ) -> impl Future<Output = Result<(), Error>>

Source

fn resolution( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>

Source

fn step_value( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>

Source

fn unit( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<ClosureUnitEnum, Error>>

Source

fn unit_range<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, UnitRangeStructBuilder<P>>, ) -> impl Future<Output = Result<P, Error>>

Source

fn limit_range<P>( &self, ctx: impl ReadContext, builder: RangePercent100thsStructBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source

fn translation_direction( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<TranslationDirectionEnum, Error>>

Source

fn rotation_axis( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<RotationAxisEnum, Error>>

Source

fn overflow( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<OverflowEnum, Error>>

Source

fn modulation_type( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<ModulationTypeEnum, Error>>

Source

fn latch_control_modes( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<LatchControlModesBitmap, Error>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T> ClusterAsyncHandler for &T

Source§

const CLUSTER: Cluster<'static> = T::CLUSTER

Source§

fn dataver(&self) -> u32

Source§

fn dataver_changed(&self)

Source§

fn lifecycle( &self, ctx: impl HandlerContext, op: LifecycleOp, ) -> Result<(), Error>

Source§

fn run( &self, ctx: impl HandlerContext, ) -> impl Future<Output = Result<(), Error>>

Source§

fn current_state<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, DimensionStateStructBuilder<P>>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn target_state<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, DimensionStateStructBuilder<P>>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn resolution( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>

Source§

fn step_value( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>

Source§

fn unit( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<ClosureUnitEnum, Error>>

Source§

fn unit_range<P>( &self, ctx: impl ReadContext, builder: NullableBuilder<P, UnitRangeStructBuilder<P>>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn limit_range<P>( &self, ctx: impl ReadContext, builder: RangePercent100thsStructBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn translation_direction( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<TranslationDirectionEnum, Error>>

Source§

fn rotation_axis( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<RotationAxisEnum, Error>>

Source§

fn overflow( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<OverflowEnum, Error>>

Source§

fn modulation_type( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<ModulationTypeEnum, Error>>

Source§

fn latch_control_modes( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<LatchControlModesBitmap, Error>>

Source§

fn handle_set_target( &self, ctx: impl InvokeContext, request: SetTargetRequest<'_>, ) -> impl Future<Output = Result<(), Error>>

Source§

fn handle_step( &self, ctx: impl InvokeContext, request: StepRequest<'_>, ) -> impl Future<Output = Result<(), Error>>

Implementors§