Skip to main content

ClusterAsyncHandler

Trait ClusterAsyncHandler 

Source
pub trait ClusterAsyncHandler {
    const CLUSTER: Cluster<'static>;
Show 14 methods // Required methods fn dataver(&self) -> u32; fn dataver_changed(&self); async fn scene_table_size( &self, ctx: impl ReadContext, ) -> Result<u16, Error>; async fn fabric_scene_info<P>( &self, ctx: impl ReadContext, builder: ArrayAttributeRead<SceneInfoStructArrayBuilder<P>, SceneInfoStructBuilder<P>>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_add_scene<P>( &self, ctx: impl InvokeContext, request: AddSceneRequest<'_>, response: AddSceneResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_view_scene<P>( &self, ctx: impl InvokeContext, request: ViewSceneRequest<'_>, response: ViewSceneResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_remove_scene<P>( &self, ctx: impl InvokeContext, request: RemoveSceneRequest<'_>, response: RemoveSceneResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_remove_all_scenes<P>( &self, ctx: impl InvokeContext, request: RemoveAllScenesRequest<'_>, response: RemoveAllScenesResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_store_scene<P>( &self, ctx: impl InvokeContext, request: StoreSceneRequest<'_>, response: StoreSceneResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_recall_scene( &self, ctx: impl InvokeContext, request: RecallSceneRequest<'_>, ) -> Result<(), Error>; async fn handle_get_scene_membership<P>( &self, ctx: impl InvokeContext, request: GetSceneMembershipRequest<'_>, response: GetSceneMembershipResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; async fn handle_copy_scene<P>( &self, ctx: impl InvokeContext, request: CopySceneRequest<'_>, response: CopySceneResponseBuilder<P>, ) -> Result<P, Error> where P: TLVBuilderParent; // Provided methods fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error> { ... } fn run( &self, _ctx: impl HandlerContext, ) -> impl Future<Output = 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§

Source

fn dataver(&self) -> u32

Source

fn dataver_changed(&self)

Source

async fn scene_table_size(&self, ctx: impl ReadContext) -> Result<u16, Error>

Source

async fn fabric_scene_info<P>( &self, ctx: impl ReadContext, builder: ArrayAttributeRead<SceneInfoStructArrayBuilder<P>, SceneInfoStructBuilder<P>>, ) -> Result<P, Error>

Source

async fn handle_add_scene<P>( &self, ctx: impl InvokeContext, request: AddSceneRequest<'_>, response: AddSceneResponseBuilder<P>, ) -> Result<P, Error>

Source

async fn handle_view_scene<P>( &self, ctx: impl InvokeContext, request: ViewSceneRequest<'_>, response: ViewSceneResponseBuilder<P>, ) -> Result<P, Error>

Source

async fn handle_remove_scene<P>( &self, ctx: impl InvokeContext, request: RemoveSceneRequest<'_>, response: RemoveSceneResponseBuilder<P>, ) -> Result<P, Error>

Source

async fn handle_remove_all_scenes<P>( &self, ctx: impl InvokeContext, request: RemoveAllScenesRequest<'_>, response: RemoveAllScenesResponseBuilder<P>, ) -> Result<P, Error>

Source

async fn handle_store_scene<P>( &self, ctx: impl InvokeContext, request: StoreSceneRequest<'_>, response: StoreSceneResponseBuilder<P>, ) -> Result<P, Error>

Source

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

Source

async fn handle_get_scene_membership<P>( &self, ctx: impl InvokeContext, request: GetSceneMembershipRequest<'_>, response: GetSceneMembershipResponseBuilder<P>, ) -> Result<P, Error>

Source

async fn handle_copy_scene<P>( &self, ctx: impl InvokeContext, request: CopySceneRequest<'_>, response: CopySceneResponseBuilder<P>, ) -> Result<P, 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>>

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 scene_table_size( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u16, Error>>

Source§

fn fabric_scene_info<P>( &self, ctx: impl ReadContext, builder: ArrayAttributeRead<SceneInfoStructArrayBuilder<P>, SceneInfoStructBuilder<P>>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn handle_add_scene<P>( &self, ctx: impl InvokeContext, request: AddSceneRequest<'_>, response: AddSceneResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn handle_view_scene<P>( &self, ctx: impl InvokeContext, request: ViewSceneRequest<'_>, response: ViewSceneResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn handle_remove_scene<P>( &self, ctx: impl InvokeContext, request: RemoveSceneRequest<'_>, response: RemoveSceneResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn handle_remove_all_scenes<P>( &self, ctx: impl InvokeContext, request: RemoveAllScenesRequest<'_>, response: RemoveAllScenesResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn handle_store_scene<P>( &self, ctx: impl InvokeContext, request: StoreSceneRequest<'_>, response: StoreSceneResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

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

Source§

fn handle_get_scene_membership<P>( &self, ctx: impl InvokeContext, request: GetSceneMembershipRequest<'_>, response: GetSceneMembershipResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Source§

fn handle_copy_scene<P>( &self, ctx: impl InvokeContext, request: CopySceneRequest<'_>, response: CopySceneResponseBuilder<P>, ) -> impl Future<Output = Result<P, Error>>

Implementors§

Source§

impl<const N: usize, R, const M: usize> ClusterAsyncHandler for ScenesHandler<'_, N, R, M>
where R: SceneClusters,

Source§

const CLUSTER: Cluster<'static> = FULL_CLUSTER