class OfferService

Defined at line 8204 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.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 Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

OfferService & set_source (::fuchsia::component::decl::Ref _value)
OfferService & set_source_name (::std::string _value)
OfferService & set_target (::fuchsia::component::decl::Ref _value)
OfferService & set_target_name (::std::string _value)
OfferService & set_source_instance_filter (::std::vector< ::std::string> _value)
OfferService & set_renamed_instances (::std::vector< ::fuchsia::component::decl::NameMapping> _value)
OfferService & set_availability (::fuchsia::component::decl::Availability _value)
OfferService & set_source_dictionary (::std::string _value)
OfferService & set_dependency_type (::fuchsia::component::decl::DependencyType _value)
void OfferService ()
void OfferService (OfferService && other)
void ~OfferService ()
OfferService & operator= (OfferService && other)
::std::unique_ptr<OfferService> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, OfferService * _value, size_t _offset)
zx_status_t Clone (OfferService * _result)
const ::fuchsia::component::decl::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.

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

bool has_source ()

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

::fuchsia::component::decl::Ref * mutable_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.

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

void clear_source ()

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

const ::std::string & source_name ()

(Required) Name identifying the service being offered.

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

bool has_source_name ()

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

::std::string * mutable_source_name ()

(Required) Name identifying the service being offered.

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

void clear_source_name ()

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

const ::fuchsia::component::decl::Ref & target ()

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

a dictionary `capability`.

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

bool has_target ()

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

::fuchsia::component::decl::Ref * mutable_target ()

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

a dictionary `capability`.

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

void clear_target ()

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

const ::std::string & target_name ()

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

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

bool has_target_name ()

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

::std::string * mutable_target_name ()

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

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

void clear_target_name ()

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

const ::std::vector< ::std::string> & 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.

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

bool has_source_instance_filter ()

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

::std::vector< ::std::string> * mutable_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.

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

void clear_source_instance_filter ()

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

const ::std::vector< ::fuchsia::component::decl::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.

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

bool has_renamed_instances ()

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

::std::vector< ::fuchsia::component::decl::NameMapping> * mutable_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.

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

void clear_renamed_instances ()

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

const ::fuchsia::component::decl::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.

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

bool has_availability ()

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

::fuchsia::component::decl::Availability * mutable_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.

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

void clear_availability ()

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

const ::std::string & 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.

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

bool has_source_dictionary ()

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

::std::string * mutable_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.

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

void clear_source_dictionary ()

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

const ::fuchsia::component::decl::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.

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

bool has_dependency_type ()

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

::fuchsia::component::decl::DependencyType * mutable_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.

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

void clear_dependency_type ()

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