Skip to main content

DeviceLocalServerHandler

Trait DeviceLocalServerHandler 

Source
pub trait DeviceLocalServerHandler<___T = Channel>
where ___T: Transport,
{ // Required methods fn register_power_domain( &mut self, request: Request<RegisterPowerDomain, ___T>, responder: Responder<RegisterPowerDomain, ___T>, ) -> impl Future<Output = ()>; fn unregister_power_domain( &mut self, responder: Responder<UnregisterPowerDomain, ___T>, ) -> impl Future<Output = ()>; fn get_supported_voltage_range( &mut self, responder: Responder<GetSupportedVoltageRange, ___T>, ) -> impl Future<Output = ()>; fn request_voltage( &mut self, request: Request<RequestVoltage, ___T>, responder: Responder<RequestVoltage, ___T>, ) -> impl Future<Output = ()>; fn get_current_voltage( &mut self, request: Request<GetCurrentVoltage, ___T>, responder: Responder<GetCurrentVoltage, ___T>, ) -> impl Future<Output = ()>; fn get_power_domain_status( &mut self, responder: Responder<GetPowerDomainStatus, ___T>, ) -> impl Future<Output = ()>; fn write_pmic_ctrl_reg( &mut self, request: Request<WritePmicCtrlReg, ___T>, responder: Responder<WritePmicCtrlReg, ___T>, ) -> impl Future<Output = ()>; fn read_pmic_ctrl_reg( &mut self, request: Request<ReadPmicCtrlReg, ___T>, responder: Responder<ReadPmicCtrlReg, ___T>, ) -> impl Future<Output = ()>; }
Expand description

A server handler for the Device protocol.

See Device for more details.

Required Methods§

Source

fn register_power_domain( &mut self, request: Request<RegisterPowerDomain, ___T>, responder: Responder<RegisterPowerDomain, ___T>, ) -> impl Future<Output = ()>

Register the callee for this power domain. The callee will be registered until UnregisterPowerDomain is called. Any voltage changes to the power domain will be made considering the min_needed_voltage(in uV) and max_supported_voltage(in uV) published here. If voltages mentioned are out of supported voltage range of domain(obtained by calling GetSupportedVoltageRange), the callee will be registered with the supported voltage range.

Source

fn unregister_power_domain( &mut self, responder: Responder<UnregisterPowerDomain, ___T>, ) -> impl Future<Output = ()>

Unregister the callee for this power domain. The callee will no longer be considered as a dependent of this power domain.

Source

fn get_supported_voltage_range( &mut self, responder: Responder<GetSupportedVoltageRange, ___T>, ) -> impl Future<Output = ()>

Get Supported Voltage Range. min and max are in micorVolts(uV)

Source

fn request_voltage( &mut self, request: Request<RequestVoltage, ___T>, responder: Responder<RequestVoltage, ___T>, ) -> impl Future<Output = ()>

Request a particular voltage. The actual_voltage is the voltage that the power domain is transitioned to after considering supported voltage ranges of all the registered dependents. “voltage” should be in uV.

Source

fn get_current_voltage( &mut self, request: Request<GetCurrentVoltage, ___T>, responder: Responder<GetCurrentVoltage, ___T>, ) -> impl Future<Output = ()>

Get current voltage in uV.

Source

fn get_power_domain_status( &mut self, responder: Responder<GetPowerDomainStatus, ___T>, ) -> impl Future<Output = ()>

Get power domain status

Source

fn write_pmic_ctrl_reg( &mut self, request: Request<WritePmicCtrlReg, ___T>, responder: Responder<WritePmicCtrlReg, ___T>, ) -> impl Future<Output = ()>

Write to ctrl register of PMIC

Source

fn read_pmic_ctrl_reg( &mut self, request: Request<ReadPmicCtrlReg, ___T>, responder: Responder<ReadPmicCtrlReg, ___T>, ) -> impl Future<Output = ()>

Read ctrl register of PMIC

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<___H, ___T> DeviceLocalServerHandler<___T> for Local<___H>
where ___H: DeviceServerHandler<___T>, ___T: Transport,

Source§

async fn register_power_domain( &mut self, request: Request<RegisterPowerDomain, ___T>, responder: Responder<RegisterPowerDomain, ___T>, )

Source§

async fn unregister_power_domain( &mut self, responder: Responder<UnregisterPowerDomain, ___T>, )

Source§

async fn get_supported_voltage_range( &mut self, responder: Responder<GetSupportedVoltageRange, ___T>, )

Source§

async fn request_voltage( &mut self, request: Request<RequestVoltage, ___T>, responder: Responder<RequestVoltage, ___T>, )

Source§

async fn get_current_voltage( &mut self, request: Request<GetCurrentVoltage, ___T>, responder: Responder<GetCurrentVoltage, ___T>, )

Source§

async fn get_power_domain_status( &mut self, responder: Responder<GetPowerDomainStatus, ___T>, )

Source§

async fn write_pmic_ctrl_reg( &mut self, request: Request<WritePmicCtrlReg, ___T>, responder: Responder<WritePmicCtrlReg, ___T>, )

Source§

async fn read_pmic_ctrl_reg( &mut self, request: Request<ReadPmicCtrlReg, ___T>, responder: Responder<ReadPmicCtrlReg, ___T>, )

Implementors§