Crate fidl_next_fuchsia_power_broker

Crate fidl_next_fuchsia_power_broker 

Source

Re-exports§

pub use self::natural::*;

Modules§

compat
Compatibility shims which mimic some API surfaces of the current Rust bindings.
element_control
element_info_provider
element_runner
generic
lease_control
lessor
natural
status
topology
wire
wire_optional

Structs§

ElementControl
The type corresponding to the ElementControl protocol. Provides element-scoped access to an element previously added via Topology.AddElement.
ElementControlRegisterDependencyTokenResponse
ElementControlUnregisterDependencyTokenResponse
ElementInfoProvider
The type corresponding to the ElementInfoProvider protocol. Provides an interface to retrieve information about PowerElements managed by a component.
ElementInfoProviderService
The type corresponding to the ElementInfoProviderService service.
ElementInfoProviderServiceConnector
A strongly-typed service connector for the ElementInfoProviderService service.
ElementPowerLevelNames
Mapping of a vector of [fuchsia.power.broker/PowerLevelName] to a Power Element via its plaintext name. Names are expected to be unique between elements and persistent across reboots of the same build, but consistency is not guaranteed between different builds.
ElementRunner
The type corresponding to the ElementRunner protocol. The runner or operator of an element. This should be implemented by all element owners. The client end is passed to Power Broker via ElementSchema.element_runner. Power Broker calls SetLevel initially, and then whenever the required level of the element changes.
ElementRunnerSetLevelRequest
ElementRunnerSetLevelResponse
LeaseControl
The type corresponding to the LeaseControl protocol. Provides lease-scoped access to actions that can be taken on a lease previously acquired via Lessor.Lease. Closing this control channel drops the lease. TODO(https://fxbug.dev/339474151): Switch from a protocol to an eventpair.
LeaseControlWatchStatusRequest
LeaseControlWatchStatusResponse
Lessor
The type corresponding to the Lessor protocol. Provides element-scoped access to request leases to raise the levels of an element previously added via Topology.AddElement.
Permissions
Element Permissions
PowerLevelName
Mapping of a plaintext name to a PowerLevel. Names are expected to be unique between elements and persistent across reboots of the same build, but consistency is not guaranteed between different builds.
Status
The type corresponding to the Status protocol. Provides read-only access to the current PowerLevel of an element and the ability to watch changes to an element’s power level. A new channel to this protocol can be obtained by calling OpenStatus on the element’s ElementControl channel (and passed to other clients who need access to the element’s current power level).
Topology
The type corresponding to the Topology protocol. This is the primary initial protocol used by Power Element Owners to communicate with Power Broker. Power Element Owners should add the elements they own to the Power Topology through AddElement. All further interactions with Power Broker are done through channels opened by the AddElement call, which are scoped to the added element.
TopologyAddElementResponse

Enums§

AddElementError
BinaryPowerLevel
BinaryPowerLevel is a well-known set of PowerLevels with only two states: OFF and ON.
DependencyType
An assertive dependency is strongly-fulfilled and orderly-on-termination. An opportunistic dependency is weakly-fulfilled but still orderly-on-termination.
ElementInfoProviderError
LeaseError
LeaseStatus
ModifyDependencyError
RegisterDependencyTokenError
StatusError
UnregisterDependencyTokenError

Constants§

MAX_DEPENDENCIES_IN_ADD_ELEMENT
MAX_ELEMENT_NAME_LEN
MAX_LEVEL_NAME_LEN
PowerLevel name lengths are limited to reduce Inspect space usage
MAX_TOKENS_IN_ADD_ELEMENT
MAX_VALID_POWER_LEVELS

Traits§

ElementControlClientHandler
A client handler for the ElementControl protocol.
ElementControlServerHandler
A server handler for the ElementControl protocol.
ElementInfoProviderClientHandler
A client handler for the ElementInfoProvider protocol.
ElementInfoProviderServerHandler
A server handler for the ElementInfoProvider protocol.
ElementInfoProviderServiceHandler
A service handler for the ElementInfoProviderService service.
ElementRunnerClientHandler
A client handler for the ElementRunner protocol.
ElementRunnerServerHandler
A server handler for the ElementRunner protocol.
LeaseControlClientHandler
A client handler for the LeaseControl protocol.
LeaseControlServerHandler
A server handler for the LeaseControl protocol.
LessorClientHandler
A client handler for the Lessor protocol.
LessorServerHandler
A server handler for the Lessor protocol.
StatusClientHandler
A client handler for the Status protocol.
StatusServerHandler
A server handler for the Status protocol.
TopologyClientHandler
A client handler for the Topology protocol.
TopologyServerHandler
A server handler for the Topology protocol.

Type Aliases§

PowerLevel
Used to describe the power level of an element. Could extend this further to support additional types of power levels, such as ACPI.