class LevelDependency
Defined at line 117 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
Describes a dependency from one power element's level on another power
element's level.
For example if element `PowerElement_A` has a level `PowerLevel_A3` which
depends on an element `PowerElement_B` being at `PowerLevel_B2` then we would
fill out the struct to convey the meaning:
- `dependent_level` = `PowerLevel_A3`
- `requires_token` = `PowerElement_B`,
- `requires_level_by_preference` = `[PowerLevel_B2]`
(Note the values above are only *symbolic*, eg. `dependent_level` requires
an integer value, not a string.)
The dependent Element's identity is not specified in this struct and must
be specified as a separate argument in a request or be inferred, perhaps
because a channel is scoped to the dependent element.
Public Methods
void LevelDependency (Storage_ storage)
void LevelDependency (uint8_t dependent_level, ::zx::event requires_token, ::std::vector<uint8_t> requires_level_by_preference)
void LevelDependency ()
Default constructs a |LevelDependency| only if all of its members are default constructible.
Defined at line 128 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
void LevelDependency (LevelDependency && )
Defined at line 131 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
uint8_t dependent_level ()
The power element level that this `LevelDependency` struct declaration
supports. This is level that has a dependency on
`requires_level_by_preference`.
uint8_t & dependent_level ()
The power element level that this `LevelDependency` struct declaration
supports. This is level that has a dependency on
`requires_level_by_preference`.
LevelDependency & dependent_level (uint8_t value)
The power element level that this `LevelDependency` struct declaration
supports. This is level that has a dependency on
`requires_level_by_preference`.
LevelDependency & operator= (LevelDependency && )
Defined at line 132 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
const ::zx::event & requires_token ()
Must supply a token registered via the RegisterDependencyToken call of
the required element's ElementControl protocol.
::zx::event & requires_token ()
Must supply a token registered via the RegisterDependencyToken call of
the required element's ElementControl protocol.
LevelDependency & requires_token (::zx::event value)
Must supply a token registered via the RegisterDependencyToken call of
the required element's ElementControl protocol.
const ::std::vector<uint8_t> & requires_level_by_preference ()
A list of levels in decreasing preferential order that power broker
should attempt to make required for this dependency to be satisfied.
The first level in list that is a valid level will become the required
level.
Platform clients can use this list to keep backwards compatibility with
dependencies by providing multiple levels that the dependency may have
implemented in older API levels.
::std::vector<uint8_t> & requires_level_by_preference ()
A list of levels in decreasing preferential order that power broker
should attempt to make required for this dependency to be satisfied.
The first level in list that is a valid level will become the required
level.
Platform clients can use this list to keep backwards compatibility with
dependencies by providing multiple levels that the dependency may have
implemented in older API levels.
LevelDependency & requires_level_by_preference (::std::vector<uint8_t> value)
A list of levels in decreasing preferential order that power broker
should attempt to make required for this dependency to be satisfied.
The first level in list that is a valid level will become the required
level.
Platform clients can use this list to keep backwards compatibility with
dependencies by providing multiple levels that the dependency may have
implemented in older API levels.
void LevelDependency (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
Friends
class MemberVisitor
class NaturalStructCodingTraits