class ElementSchema

Defined at line 546 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

Passed to Topology.AddElement.

Public Methods

void ElementSchema ()

Defined at line 548 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

void ElementSchema (const ElementSchema & other)

Defined at line 549 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

void ElementSchema (ElementSchema && other)

Defined at line 551 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

void _CloseHandles ()
::fidl::WireTableBuilder< ::fuchsia_power_broker::wire::ElementSchema> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_power_broker::wire::ElementSchema> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_power_broker::wire::ElementSchema>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

::fidl::StringView & element_name ()

Human-readable name for logging and debug purposes.

bool has_element_name ()
uint8_t & initial_current_level ()

The initial current power level of the element.

To be used with `initial_lease_token`, see note below.

bool has_initial_current_level ()
::fidl::VectorView<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!)

bool has_valid_levels ()
::fidl::VectorView< ::fuchsia_power_broker::wire::LevelDependency> & dependencies ()

List of dependencies for this element's power levels.

Note: dependencies UPON this element's levels cannot be added here.

bool has_dependencies ()
::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.

bool has_lessor_channel ()
::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.

bool has_element_control ()
::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.

bool has_element_runner ()
::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`.

bool has_initial_lease_token ()
ElementSchema & set_element_name (::fidl::ObjectView< ::fidl::StringView> elem)
ElementSchema & set_element_name (std::nullptr_t )
ElementSchema & clear_element_name ()
ElementSchema & set_initial_current_level (uint8_t elem)
ElementSchema & clear_initial_current_level ()
ElementSchema & set_valid_levels (::fidl::ObjectView< ::fidl::VectorView<uint8_t>> elem)
ElementSchema & set_valid_levels (std::nullptr_t )
ElementSchema & clear_valid_levels ()
ElementSchema & set_dependencies (::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_power_broker::wire::LevelDependency>> elem)
ElementSchema & set_dependencies (std::nullptr_t )
ElementSchema & clear_dependencies ()
ElementSchema & set_lessor_channel (::fidl::ServerEnd< ::fuchsia_power_broker::Lessor> elem)
ElementSchema & clear_lessor_channel ()
ElementSchema & set_element_control (::fidl::ServerEnd< ::fuchsia_power_broker::ElementControl> elem)
ElementSchema & clear_element_control ()
ElementSchema & set_element_runner (::fidl::ClientEnd< ::fuchsia_power_broker::ElementRunner> elem)
ElementSchema & clear_element_runner ()
ElementSchema & set_initial_lease_token (::zx::eventpair elem)
ElementSchema & clear_initial_lease_token ()
void ElementSchema (::fidl::AnyArena & allocator)
void ElementSchema (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_power_broker::wire::ElementSchema>> && frame)

This constructor allows a user controlled allocation (not using a Arena).

It should only be used when performance is key.

As soon as the frame is given to the table, it must not be used directly or for another table.

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_power_broker::wire::ElementSchema>> && frame_ptr)
ElementSchema & operator= (const ElementSchema & other)

Defined at line 550 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

ElementSchema & operator= (ElementSchema && other)

Defined at line 552 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

void ~ElementSchema ()

Defined at line 554 of file fidling/gen/sdk/fidl/fuchsia.power.broker/fuchsia.power.broker/cpp/fidl/fuchsia.power.broker/cpp/wire_types.h

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder