class OfferService
Defined at line 8286 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 8296 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 8300 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 8308 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 8316 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 8325 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 8329 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 8334 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 8342 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 8352 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 8356 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 8362 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 8370 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 8379 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 8383 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 8388 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 8396 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 8408 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 8412 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 8420 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 8428 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 8447 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 8451 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 8466 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 8474 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 8488 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 8492 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 8502 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 8510 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 8522 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 8526 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 8534 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 8542 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 8553 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 8557 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 8564 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 8572 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h