class UseProtocol

Defined at line 13934 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

Declares a protocol used by a component, which was offered to it.

A protocol is a service with a single instance, provided by a single FIDL

protocol.

Public Methods

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

::fidl::WireTableBuilder< ::fuchsia_component_decl::wire::UseProtocol> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_component_decl::wire::UseProtocol> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_decl::wire::UseProtocol>> frame)

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

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_decl::wire::UseProtocol>> && frame_ptr)
void UseProtocol ()

Defined at line 13936 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

void UseProtocol (const UseProtocol & other)

Defined at line 13937 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

void UseProtocol (UseProtocol && other)

Defined at line 13939 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

::fuchsia_component_decl::wire::Ref & source ()

(Required) The provider of the protocol relative to the component

itself. Must be `parent`, `framework`, `debug`, `capability` or `child`.

bool has_source ()
::fidl::StringView & source_name ()

(Required) Name identifying the protocol, by which it was presented to this

component.

bool has_source_name ()
::fidl::StringView & target_path ()

(Required) The path where the capability should be installed in the component's

namespace.

Must be an absolute path starting with /.

bool has_target_path ()
::fuchsia_component_decl::wire::DependencyType & dependency_type ()

(Required) The dependency type this use represents.

A component which offers a capability to a child from itself and uses a

capability from the same child, must mark the dependency as `weak`. A

`weak` dependency implies that the capability may become unavailable at

any point. Taking a strong dependency on a child's capability will

cause this the child to shut down before its parent. When using a weak

dependency, the parent shuts down before the child.

bool has_dependency_type ()
::fuchsia_component_decl::wire::Availability & availability ()

(Optional, defaults to `REQUIRED`) The availability of this capability.

If set to `required`, the component is likely to malfunction if this

capability is not provided. If set to `optional`, the component can

handle the capability's absence.

bool has_availability ()
::fidl::StringView & source_dictionary ()

(Optional) Path in a dictionary provided by `source` which contains `source_name`.

If this field is absent, `source_name` identifies a capability directly routed

by `source`. If set, `source_name` identifies a capability nested inside this

dictionary.

bool has_source_dictionary ()
uint8_t & numbered_handle ()

(Optional) A processargs ordinal (zircon/processargs.h) by which a channel to this protocol

will be delivered to the component's processargs.

Must be a valid processargs ordinal defined in `zircon/processargs.h`.

If this is set, we still require `target_path` to also be set, although we could relax this

restriction in the future.

bool has_numbered_handle ()
UseProtocol & set_source (::fidl::ObjectView< ::fuchsia_component_decl::wire::Ref> elem)
UseProtocol & set_source (std::nullptr_t )
UseProtocol & clear_source ()
UseProtocol & operator= (const UseProtocol & other)

Defined at line 13938 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

UseProtocol & set_source_name (::fidl::ObjectView< ::fidl::StringView> elem)
UseProtocol & set_source_name (std::nullptr_t )
UseProtocol & clear_source_name ()
UseProtocol & set_target_path (::fidl::ObjectView< ::fidl::StringView> elem)
UseProtocol & set_target_path (std::nullptr_t )
UseProtocol & clear_target_path ()
UseProtocol & set_dependency_type (::fuchsia_component_decl::wire::DependencyType elem)
UseProtocol & clear_dependency_type ()
UseProtocol & set_availability (::fuchsia_component_decl::wire::Availability elem)
UseProtocol & clear_availability ()
UseProtocol & set_source_dictionary (::fidl::ObjectView< ::fidl::StringView> elem)
UseProtocol & set_source_dictionary (std::nullptr_t )
UseProtocol & clear_source_dictionary ()
UseProtocol & set_numbered_handle (uint8_t elem)
UseProtocol & clear_numbered_handle ()
void UseProtocol (::fidl::AnyArena & allocator)
void UseProtocol (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_decl::wire::UseProtocol>> && 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.

UseProtocol & operator= (UseProtocol && other)

Defined at line 13940 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

void ~UseProtocol ()

Defined at line 13942 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/cpp/fidl/fuchsia.component.decl/cpp/wire_types.h

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder