pub trait ClusterHandler {
const CLUSTER: Cluster<'static>;
Show 22 methods
// Required methods
fn dataver(&self) -> u32;
fn dataver_changed(&self);
fn utc_time(
&self,
ctx: impl ReadContext,
) -> Result<Maybe<u64, AsNullable>, Error>;
fn granularity(
&self,
ctx: impl ReadContext,
) -> Result<GranularityEnum, Error>;
fn handle_set_utc_time(
&self,
ctx: impl InvokeContext,
request: SetUTCTimeRequest<'_>,
) -> Result<(), Error>;
fn handle_set_trusted_time_source(
&self,
ctx: impl InvokeContext,
request: SetTrustedTimeSourceRequest<'_>,
) -> Result<(), Error>;
fn handle_set_time_zone<P>(
&self,
ctx: impl InvokeContext,
request: SetTimeZoneRequest<'_>,
response: SetTimeZoneResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
fn handle_set_dst_offset(
&self,
ctx: impl InvokeContext,
request: SetDSTOffsetRequest<'_>,
) -> Result<(), Error>;
fn handle_set_default_ntp(
&self,
ctx: impl InvokeContext,
request: SetDefaultNTPRequest<'_>,
) -> 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 time_source(
&self,
ctx: impl ReadContext,
) -> Result<TimeSourceEnum, Error> { ... }
fn trusted_time_source<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, TrustedTimeSourceStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent { ... }
fn default_ntp<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, Utf8StrBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent { ... }
fn time_zone<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<TimeZoneStructArrayBuilder<P>, TimeZoneStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent { ... }
fn dst_offset<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<DSTOffsetStructArrayBuilder<P>, DSTOffsetStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent { ... }
fn local_time(
&self,
ctx: impl ReadContext,
) -> Result<Maybe<u64, AsNullable>, Error> { ... }
fn time_zone_database(
&self,
ctx: impl ReadContext,
) -> Result<TimeZoneDatabaseEnum, Error> { ... }
fn ntp_server_available(&self, ctx: impl ReadContext) -> Result<bool, Error> { ... }
fn time_zone_list_max_size(
&self,
ctx: impl ReadContext,
) -> Result<u8, Error> { ... }
fn dst_offset_list_max_size(
&self,
ctx: impl ReadContext,
) -> Result<u8, Error> { ... }
fn supports_dns_resolve(&self, ctx: impl ReadContext) -> Result<bool, Error> { ... }
}Expand description
The handler trait for the cluster.
Required Associated Constants§
Required Methods§
fn dataver(&self) -> u32
fn dataver_changed(&self)
fn utc_time( &self, ctx: impl ReadContext, ) -> Result<Maybe<u64, AsNullable>, Error>
fn granularity(&self, ctx: impl ReadContext) -> Result<GranularityEnum, Error>
fn handle_set_utc_time( &self, ctx: impl InvokeContext, request: SetUTCTimeRequest<'_>, ) -> Result<(), Error>
fn handle_set_trusted_time_source( &self, ctx: impl InvokeContext, request: SetTrustedTimeSourceRequest<'_>, ) -> Result<(), Error>
fn handle_set_time_zone<P>(
&self,
ctx: impl InvokeContext,
request: SetTimeZoneRequest<'_>,
response: SetTimeZoneResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn handle_set_dst_offset( &self, ctx: impl InvokeContext, request: SetDSTOffsetRequest<'_>, ) -> Result<(), Error>
fn handle_set_default_ntp( &self, ctx: impl InvokeContext, request: SetDefaultNTPRequest<'_>, ) -> 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 time_source(&self, ctx: impl ReadContext) -> Result<TimeSourceEnum, Error>
fn trusted_time_source<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, TrustedTimeSourceStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn default_ntp<P>(
&self,
ctx: impl ReadContext,
builder: NullableBuilder<P, Utf8StrBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn time_zone<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<TimeZoneStructArrayBuilder<P>, TimeZoneStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn dst_offset<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<DSTOffsetStructArrayBuilder<P>, DSTOffsetStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
fn local_time( &self, ctx: impl ReadContext, ) -> Result<Maybe<u64, AsNullable>, Error>
fn time_zone_database( &self, ctx: impl ReadContext, ) -> Result<TimeZoneDatabaseEnum, Error>
fn ntp_server_available(&self, ctx: impl ReadContext) -> Result<bool, Error>
fn time_zone_list_max_size(&self, ctx: impl ReadContext) -> Result<u8, Error>
fn dst_offset_list_max_size(&self, ctx: impl ReadContext) -> Result<u8, Error>
fn supports_dns_resolve(&self, ctx: impl ReadContext) -> Result<bool, Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".