template <typename BuilderImpl>

class WireTableBaseBuilder

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

Public Methods

::fuchsia_power_broker::wire::ElementSchema Build ()

Build and return the table. The builder should not be used after this.

bool has_element_name ()
void clear_element_name ()

Clears the element_name field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::StringView & element_name ()

Human-readable name for logging and debug purposes.

BuilderImpl & element_name (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

Human-readable name for logging and debug purposes.

bool has_initial_current_level ()
void clear_initial_current_level ()

Clears the initial_current_level field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint8_t & initial_current_level ()

The initial current power level of the element.

BuilderImpl & initial_current_level (uint8_t elem)

The initial current power level of the element.

bool has_valid_levels ()
void clear_valid_levels ()

Clears the valid_levels field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::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!)

BuilderImpl & valid_levels (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView<uint8_t>>> elem)

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_dependencies ()
void clear_dependencies ()

Clears the dependencies field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::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.

BuilderImpl & dependencies (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_power_broker::wire::LevelDependency>>> elem)

List of dependencies for this element's power levels.

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

bool has_lessor_channel ()
void clear_lessor_channel ()

Clears the lessor_channel field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::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.

BuilderImpl & lessor_channel (::fidl::ServerEnd< ::fuchsia_power_broker::Lessor> elem)

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_element_control ()
void clear_element_control ()

Clears the element_control field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::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.

BuilderImpl & element_control (::fidl::ServerEnd< ::fuchsia_power_broker::ElementControl> elem)

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_runner ()
void clear_element_runner ()

Clears the element_runner field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::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.

BuilderImpl & element_runner (::fidl::ClientEnd< ::fuchsia_power_broker::ElementRunner> elem)

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.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_power_broker::wire::ElementSchema, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_power_broker::wire::ElementSchema>> && frame)

Records