Skip to main content

ClusterHandler

Trait ClusterHandler 

Source
pub trait ClusterHandler {
    const CLUSTER: Cluster<'static>;

    // Required methods
    fn dataver(&self) -> u32;
    fn dataver_changed(&self);

    // Provided methods
    fn lifecycle(
        &self,
        _ctx: impl HandlerContext,
        _op: LifecycleOp,
    ) -> Result<(), Error> { ... }
    fn run(
        &self,
        _ctx: impl HandlerContext,
    ) -> impl Future<Output = Result<(), Error>> { ... }
    fn temperature_unit(
        &self,
        ctx: impl ReadContext,
    ) -> Result<TempUnitEnum, Error> { ... }
    fn supported_temperature_units<P>(
        &self,
        ctx: impl ReadContext,
        builder: ArrayAttributeRead<ToTLVArrayBuilder<P, TempUnitEnum>, ToTLVBuilder<P, TempUnitEnum>>,
    ) -> Result<P, Error>
       where P: TLVBuilderParent { ... }
    fn set_temperature_unit(
        &self,
        ctx: impl WriteContext,
        value: TempUnitEnum,
    ) -> Result<(), 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§

Provided Methods§

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> ClusterHandler for &T
where T: ClusterHandler,

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 temperature_unit(&self, ctx: impl ReadContext) -> Result<TempUnitEnum, Error>

Source§

fn supported_temperature_units<P>( &self, ctx: impl ReadContext, builder: ArrayAttributeRead<ToTLVArrayBuilder<P, TempUnitEnum>, ToTLVBuilder<P, TempUnitEnum>>, ) -> Result<P, Error>

Source§

fn set_temperature_unit( &self, ctx: impl WriteContext, value: TempUnitEnum, ) -> Result<(), Error>

Implementors§