pub trait ClusterHandler {
const CLUSTER: Cluster<'static>;
Show 18 methods
// Required methods
fn dataver(&self) -> u32;
fn dataver_changed(&self);
fn current_state<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, DimensionStateStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
fn target_state<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, DimensionStateStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
fn handle_set_target(
&self,
ctx: impl InvokeContext,
request: SetTargetRequest<'_>,
) -> Result<(), Error>;
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) -> Result<u16, Error> { ... }
fn step_value(&self, ctx: impl ReadContext) -> Result<u16, Error> { ... }
fn unit(&self, ctx: impl ReadContext) -> Result<ClosureUnitEnum, Error> { ... }
fn unit_range<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, UnitRangeStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent { ... }
fn limit_range<P>(
&self,
ctx: impl ReadContext,
builder: RangePercent100thsStructBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent { ... }
fn translation_direction(
&self,
ctx: impl ReadContext,
) -> Result<TranslationDirectionEnum, Error> { ... }
fn rotation_axis(
&self,
ctx: impl ReadContext,
) -> Result<RotationAxisEnum, Error> { ... }
fn overflow(&self, ctx: impl ReadContext) -> Result<OverflowEnum, Error> { ... }
fn modulation_type(
&self,
ctx: impl ReadContext,
) -> Result<ModulationTypeEnum, Error> { ... }
fn latch_control_modes(
&self,
ctx: impl ReadContext,
) -> Result<LatchControlModesBitmap, Error> { ... }
}Expand description
The handler trait for the cluster.
Required Associated Constants§
Required Methods§
fn dataver(&self) -> u32
fn dataver_changed(&self)
fn current_state<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, DimensionStateStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn target_state<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, DimensionStateStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn handle_set_target( &self, ctx: impl InvokeContext, request: SetTargetRequest<'_>, ) -> Result<(), Error>
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) -> Result<u16, Error>
fn step_value(&self, ctx: impl ReadContext) -> Result<u16, Error>
fn unit(&self, ctx: impl ReadContext) -> Result<ClosureUnitEnum, Error>
fn unit_range<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, UnitRangeStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn limit_range<P>(
&self,
ctx: impl ReadContext,
builder: RangePercent100thsStructBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn translation_direction( &self, ctx: impl ReadContext, ) -> Result<TranslationDirectionEnum, Error>
fn rotation_axis( &self, ctx: impl ReadContext, ) -> Result<RotationAxisEnum, Error>
fn overflow(&self, ctx: impl ReadContext) -> Result<OverflowEnum, Error>
fn modulation_type( &self, ctx: impl ReadContext, ) -> Result<ModulationTypeEnum, Error>
fn latch_control_modes( &self, ctx: impl ReadContext, ) -> Result<LatchControlModesBitmap, Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".