class ElementSchema
Defined at line 492 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
Passed to Topology.AddElement.
Public Methods
void ElementSchema ()
Defined at line 497 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
void ElementSchema (ElementSchema && )
Defined at line 498 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
void ElementSchema (Storage_ storage)
bool IsEmpty ()
const std::optional< ::std::string> & element_name ()
Human-readable name for logging and debug purposes.
::std::optional< ::std::string> & element_name ()
Human-readable name for logging and debug purposes.
ElementSchema & element_name (std::optional< ::std::string> value)
Human-readable name for logging and debug purposes.
const std::optional<uint8_t> & initial_current_level ()
The initial current power level of the element.
To be used with `initial_lease_token`, see note below.
::std::optional<uint8_t> & initial_current_level ()
The initial current power level of the element.
To be used with `initial_lease_token`, see note below.
ElementSchema & initial_current_level (std::optional<uint8_t> value)
The initial current power level of the element.
To be used with `initial_lease_token`, see note below.
const std::optional< ::std::vector<uint8_t>> & valid_levels ()
All power levels that are valid for this element. Any level not
specified here will be treated as invalid.
Levels must be listed in ascending order from low to high. Note, levels are enums and their
integer values do not have an inherent meaning. For example, *theoretically* a binary
(off, on) could be represented with (0, 1), (1, 0), (17, 19) or any combination of two
two numbers. (But please use BinaryPowerLevel above!)
::std::optional< ::std::vector<uint8_t>> & valid_levels ()
All power levels that are valid for this element. Any level not
specified here will be treated as invalid.
Levels must be listed in ascending order from low to high. Note, levels are enums and their
integer values do not have an inherent meaning. For example, *theoretically* a binary
(off, on) could be represented with (0, 1), (1, 0), (17, 19) or any combination of two
two numbers. (But please use BinaryPowerLevel above!)
ElementSchema & valid_levels (std::optional< ::std::vector<uint8_t>> value)
All power levels that are valid for this element. Any level not
specified here will be treated as invalid.
Levels must be listed in ascending order from low to high. Note, levels are enums and their
integer values do not have an inherent meaning. For example, *theoretically* a binary
(off, on) could be represented with (0, 1), (1, 0), (17, 19) or any combination of two
two numbers. (But please use BinaryPowerLevel above!)
const std::optional< ::std::vector< ::fuchsia_power_broker::LevelDependency>> & dependencies ()
List of dependencies for this element's power levels.
Note: dependencies UPON this element's levels cannot be added here.
::std::optional< ::std::vector< ::fuchsia_power_broker::LevelDependency>> & dependencies ()
List of dependencies for this element's power levels.
Note: dependencies UPON this element's levels cannot be added here.
ElementSchema & dependencies (std::optional< ::std::vector< ::fuchsia_power_broker::LevelDependency>> value)
List of dependencies for this element's power levels.
Note: dependencies UPON this element's levels cannot be added here.
const std::optional< ::fidl::ServerEnd< ::fuchsia_power_broker::Lessor>> & lessor_channel ()
REMOVED: 7: level_control_channels, use `element_runner` instead (see below).
Optional. If passed, Leases for this element can be requested via this
channel.
::std::optional< ::fidl::ServerEnd< ::fuchsia_power_broker::Lessor>> & lessor_channel ()
REMOVED: 7: level_control_channels, use `element_runner` instead (see below).
Optional. If passed, Leases for this element can be requested via this
channel.
ElementSchema & lessor_channel (std::optional< ::fidl::ServerEnd< ::fuchsia_power_broker::Lessor>> value)
REMOVED: 7: level_control_channels, use `element_runner` instead (see below).
Optional. If passed, Leases for this element can be requested via this
channel.
const std::optional< ::fidl::ServerEnd< ::fuchsia_power_broker::ElementControl>> & element_control ()
Caller-provided ElementControl channel to be passed to Power Broker.
When this channel is dropped, the element will be removed from the
topology. All channels associated with this element will be
closed and all tokens registered to this element will be
unregistered.
::std::optional< ::fidl::ServerEnd< ::fuchsia_power_broker::ElementControl>> & element_control ()
Caller-provided ElementControl channel to be passed to Power Broker.
When this channel is dropped, the element will be removed from the
topology. All channels associated with this element will be
closed and all tokens registered to this element will be
unregistered.
ElementSchema & element_control (std::optional< ::fidl::ServerEnd< ::fuchsia_power_broker::ElementControl>> value)
Caller-provided ElementControl channel to be passed to Power Broker.
When this channel is dropped, the element will be removed from the
topology. All channels associated with this element will be
closed and all tokens registered to this element will be
unregistered.
const std::optional< ::fidl::ClientEnd< ::fuchsia_power_broker::ElementRunner>> & element_runner ()
The client-end that Power Broker should use to set the power level of this element.
The server_end of this should be retained and the ElementRunner
protocol implemented by the element's runner.
::std::optional< ::fidl::ClientEnd< ::fuchsia_power_broker::ElementRunner>> & element_runner ()
The client-end that Power Broker should use to set the power level of this element.
The server_end of this should be retained and the ElementRunner
protocol implemented by the element's runner.
ElementSchema & element_runner (std::optional< ::fidl::ClientEnd< ::fuchsia_power_broker::ElementRunner>> value)
The client-end that Power Broker should use to set the power level of this element.
The server_end of this should be retained and the ElementRunner
protocol implemented by the element's runner.
const std::optional< ::zx::eventpair> & initial_lease_token ()
If `initial_lease_token` is set, a lease will be immediately taken at
`initial_current_level` and all SetLevel calls prior to reaching
`initial_current_level` will be suppressed. The first SetLevel call
will be for `initial_current_level`.
The client should pass here the half of an eventpair to be held by
Power Broker. The other half of the pair should be retained by the
client.
Note: this lease will likely not be SATISFIED when returned, as that
would require the ElementRunner server to already have received and
responded to a SetLevel request from Power Broker.
Clients can listen for `LEASE_SIGNAL_SATISFIED` to know when the
lease has been `SATISFIED`.
::std::optional< ::zx::eventpair> & initial_lease_token ()
If `initial_lease_token` is set, a lease will be immediately taken at
`initial_current_level` and all SetLevel calls prior to reaching
`initial_current_level` will be suppressed. The first SetLevel call
will be for `initial_current_level`.
The client should pass here the half of an eventpair to be held by
Power Broker. The other half of the pair should be retained by the
client.
Note: this lease will likely not be SATISFIED when returned, as that
would require the ElementRunner server to already have received and
responded to a SetLevel request from Power Broker.
Clients can listen for `LEASE_SIGNAL_SATISFIED` to know when the
lease has been `SATISFIED`.
ElementSchema & initial_lease_token (std::optional< ::zx::eventpair> value)
If `initial_lease_token` is set, a lease will be immediately taken at
`initial_current_level` and all SetLevel calls prior to reaching
`initial_current_level` will be suppressed. The first SetLevel call
will be for `initial_current_level`.
The client should pass here the half of an eventpair to be held by
Power Broker. The other half of the pair should be retained by the
client.
Note: this lease will likely not be SATISFIED when returned, as that
would require the ElementRunner server to already have received and
responded to a SetLevel request from Power Broker.
Clients can listen for `LEASE_SIGNAL_SATISFIED` to know when the
lease has been `SATISFIED`.
void ElementSchema (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
ElementSchema & operator= (ElementSchema && )
Defined at line 499 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/natural_types.h
Friends
class MemberVisitor
class NaturalTableCodingTraits