class OfferService

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

Declares a service offered by a component to one of its children, which may

have been offered by the component's containing realm, the component itself,

or one of its other children.

To learn more about services, see:

https://fuchsia.dev/fuchsia-src/glossary#service

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::OfferService> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::WireTableExternalBuilder< ::fuchsia_component_decl::wire::OfferService> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_decl::wire::OfferService>> 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::OfferService>> && frame_ptr)
void OfferService ()

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

void OfferService (const OfferService & other)

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

OfferService & operator= (const OfferService & other)

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

void OfferService (OfferService && other)

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

OfferService & operator= (OfferService && other)

Defined at line 9974 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 capability relative to the component

itself. Must be `parent`, `self`, `child`, or `void`.

If set to `void`, then the target must offer or use the capability with

`OPTIONAL` or `TRANSITIONAL` availability.

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

(Required) Name identifying the service being offered.

bool has_source_name ()
::fuchsia_component_decl::wire::Ref & target ()

(Required) Reference to the target. Must be `child`, `collection`, or

a dictionary `capability`.

bool has_target ()
::fidl::StringView & target_name ()

(Required) The name under which the capability is being offered.

bool has_target_name ()
::fidl::VectorView< ::fidl::StringView> & source_instance_filter ()

(Optional) The list of allowlisted instances to be offered. Instances

of the service not in this list will not be accessible by the target

component. If this is not set that means all instances from the source

service are offered.

bool has_source_instance_filter ()
::fidl::VectorView< ::fuchsia_component_decl::wire::NameMapping> & renamed_instances ()

(Optional) The list of allowlisted instances to be offered, with

renames.

If this is set and nonempty, the set of instances in the target service

will be restricted to the instances in this list, renaming `source_name`

to `target_name`.

If it is set and nonempty, `source_instance_filter` will further

restrict the set of instances to those whose `target_name` appears in

that list. There is generally no reason to set both, but we support it

for compatibility.

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

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

If set to `required`, the target may use or offer the capability with

either `required` or `optional` availability. If set to `optional`, the

target must use or offer the capability with `optional` availability.

The `same_as_target` value causes this offer's availability to match the

availability set in the target.

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 ()
::fuchsia_component_decl::wire::DependencyType & dependency_type ()

(Optional, defaults to `STRONG`) The dependency type this offer represents.

A component which receives a weak offer must support the offered capability being

unavailable at any point.

bool has_dependency_type ()
OfferService & set_source (::fidl::ObjectView< ::fuchsia_component_decl::wire::Ref> elem)
OfferService & set_source (std::nullptr_t )
OfferService & clear_source ()
OfferService & set_source_name (::fidl::ObjectView< ::fidl::StringView> elem)
OfferService & set_source_name (std::nullptr_t )
OfferService & clear_source_name ()
OfferService & set_target (::fidl::ObjectView< ::fuchsia_component_decl::wire::Ref> elem)
OfferService & set_target (std::nullptr_t )
OfferService & clear_target ()
OfferService & set_target_name (::fidl::ObjectView< ::fidl::StringView> elem)
OfferService & set_target_name (std::nullptr_t )
OfferService & clear_target_name ()
OfferService & set_source_instance_filter (::fidl::ObjectView< ::fidl::VectorView< ::fidl::StringView>> elem)
OfferService & set_source_instance_filter (std::nullptr_t )
OfferService & clear_source_instance_filter ()
OfferService & set_renamed_instances (::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_component_decl::wire::NameMapping>> elem)
OfferService & set_renamed_instances (std::nullptr_t )
OfferService & clear_renamed_instances ()
OfferService & set_availability (::fuchsia_component_decl::wire::Availability elem)
OfferService & clear_availability ()
OfferService & set_source_dictionary (::fidl::ObjectView< ::fidl::StringView> elem)
OfferService & set_source_dictionary (std::nullptr_t )
OfferService & clear_source_dictionary ()
OfferService & set_dependency_type (::fuchsia_component_decl::wire::DependencyType elem)
OfferService & clear_dependency_type ()
void OfferService (::fidl::AnyArena & allocator)
void OfferService (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_component_decl::wire::OfferService>> && 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 ~OfferService ()

Defined at line 9976 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