class LevelDependency

Defined at line 119 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` where the

dependency is `DependencyType::ASSERTIVE` then we would fill out the struct

to convey the meaning:

- `dependent_level` = `PowerLevel_A3`

- `requires_token` = `PowerElement_B`,

- `dependency_type = `ASSERTIVE`,

- `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 (::fuchsia_power_broker::DependencyType dependency_type, 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 130 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 133 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h

::fuchsia_power_broker::DependencyType dependency_type ()

Must match the expected type of the DependencyToken, i.e. ASSERTIVE must be used if the

token is specified to be an assertive dependency token and OPPORTUNISTIC must be used if

the token is specified to be an opportunistic dependency token.

::fuchsia_power_broker::DependencyType & dependency_type ()

Must match the expected type of the DependencyToken, i.e. ASSERTIVE must be used if the

token is specified to be an assertive dependency token and OPPORTUNISTIC must be used if

the token is specified to be an opportunistic dependency token.

LevelDependency & dependency_type (::fuchsia_power_broker::DependencyType value)

Must match the expected type of the DependencyToken, i.e. ASSERTIVE must be used if the

token is specified to be an assertive dependency token and OPPORTUNISTIC must be used if

the token is specified to be an opportunistic dependency token.

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 134 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