class ElementSchema
Defined at line 1085 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
Passed to Topology.AddElement.
Public Members
static const fidl_type_t * FidlType
Public Methods
bool IsEmpty ()
Returns whether no field is set.
void ElementSchema (ElementSchema && other)
const ::std::string & element_name ()
Human-readable name for logging and debug purposes.
Defined at line 1092 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_element_name ()
Defined at line 1096 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::std::string * mutable_element_name ()
Human-readable name for logging and debug purposes.
Defined at line 1101 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_element_name ()
Defined at line 1109 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
const uint8_t & initial_current_level ()
The initial current power level of the element.
To be used with `initial_lease_token`, see note below.
Defined at line 1119 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_initial_current_level ()
Defined at line 1123 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
uint8_t * mutable_initial_current_level ()
The initial current power level of the element.
To be used with `initial_lease_token`, see note below.
Defined at line 1129 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_initial_current_level ()
Defined at line 1137 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_valid_levels ()
Defined at line 1156 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::std::vector<uint8_t> * mutable_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!)
Defined at line 1167 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_valid_levels ()
Defined at line 1175 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
const ::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.
Defined at line 1185 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_dependencies ()
Defined at line 1189 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::std::vector< ::fuchsia::power::broker::LevelDependency> * mutable_dependencies ()
List of dependencies for this element's power levels.
Note: dependencies UPON this element's levels cannot be added here.
Defined at line 1195 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_dependencies ()
Defined at line 1203 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
const ::fidl::InterfaceRequest< ::fuchsia::power::broker::Lessor> & lessor_channel ()
REMOVED: 7: level_control_channels, use `element_runner` instead (see below).
DEPRECATED. Use `Topology.Lease` instead.
Optional. If passed, Leases for this element can be requested via this
channel.
Defined at line 1216 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_lessor_channel ()
Defined at line 1220 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::fidl::InterfaceRequest< ::fuchsia::power::broker::Lessor> * mutable_lessor_channel ()
REMOVED: 7: level_control_channels, use `element_runner` instead (see below).
DEPRECATED. Use `Topology.Lease` instead.
Optional. If passed, Leases for this element can be requested via this
channel.
Defined at line 1229 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_lessor_channel ()
Defined at line 1237 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
const ::fidl::InterfaceRequest< ::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.
Defined at line 1250 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_element_control ()
Defined at line 1254 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::fidl::InterfaceRequest< ::fuchsia::power::broker::ElementControl> * mutable_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.
Defined at line 1263 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_element_control ()
Defined at line 1271 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
const ::fidl::InterfaceHandle< ::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.
Defined at line 1282 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_element_runner ()
Defined at line 1286 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::fidl::InterfaceHandle< ::fuchsia::power::broker::ElementRunner> * mutable_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.
Defined at line 1293 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_element_runner ()
Defined at line 1301 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
const ::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`.
Defined at line 1321 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
bool has_initial_lease_token ()
Defined at line 1325 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
::zx::eventpair * mutable_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`.
Defined at line 1341 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
ElementSchema & set_element_name (::std::string _value)
ElementSchema & set_initial_current_level (uint8_t _value)
ElementSchema & set_valid_levels (::std::vector<uint8_t> _value)
ElementSchema & set_dependencies (::std::vector< ::fuchsia::power::broker::LevelDependency> _value)
ElementSchema & set_lessor_channel (::fidl::InterfaceRequest< ::fuchsia::power::broker::Lessor> _value)
ElementSchema & set_element_control (::fidl::InterfaceRequest< ::fuchsia::power::broker::ElementControl> _value)
ElementSchema & set_element_runner (::fidl::InterfaceHandle< ::fuchsia::power::broker::ElementRunner> _value)
ElementSchema & set_initial_lease_token (::zx::eventpair _value)
void ElementSchema ()
const ::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!)
Defined at line 1152 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void clear_initial_lease_token ()
Defined at line 1349 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/hlcpp/fuchsia/power/broker/cpp/fidl.h
void ~ElementSchema ()
ElementSchema & operator= (ElementSchema && other)
::std::unique_ptr<ElementSchema> New ()
void Encode (::fidl::Encoder *_encoder,size_t_offset,std::optional< ::fidl::HandleInformation>maybe_handle_info)
void Decode (::fidl::Decoder *_decoder,ElementSchema *_value,size_t_offset)
zx_status_t Clone (ElementSchema * _result)