class ExposeProtocol
Defined at line 5206 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h
Declares a protocol exposed to a component's containing realm, such as
a protocol exposed by the component or one of its children at runtime.
To learn more about protocols, see:
https://fuchsia.dev/fuchsia-src/glossary#protocol
Public Members
static const fidl_type_t * FidlType
Public Methods
bool IsEmpty ()
Returns whether no field is set.
bool has_source ()
Defined at line 5220 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 `self` or `child`, or `void`. If set to `void`, then the
target must expose, offer, or use the capability with `OPTIONAL` or
`TRANSITIONAL` availability.
Defined at line 5228 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 5236 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 5250 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 protocol, by which it was presented to
this component.
Defined at line 5256 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 5264 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 5278 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) The destination to which the protocol is exposed: either the
component's realm or the framework.
Defined at line 5284 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 5292 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 5305 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 by which the capability is being exposed.
Defined at line 5310 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 5318 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.
See [`Availability`].
Defined at line 5328 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 5332 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.
See [`Availability`].
Defined at line 5338 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 5346 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 5366 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 offered by `ref` 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 a
dictionary. The name of the top-level dictionary is given by the first path
segment of `source_dictionary`, and `source` is expected to route a
dictionary capability with this name. The rest of the path (possibly empty)
represents the path to a dictionary nested in the top-level dictionary which
is expected to contain `source_name`.
Defined at line 5378 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 5386 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h
ExposeProtocol & set_source (::fuchsia::component::decl::Ref _value)
ExposeProtocol & set_source_name (::std::string _value)
ExposeProtocol & set_target (::fuchsia::component::decl::Ref _value)
ExposeProtocol & set_target_name (::std::string _value)
ExposeProtocol & set_availability (::fuchsia::component::decl::Availability _value)
ExposeProtocol & set_source_dictionary (::std::string _value)
void ExposeProtocol ()
void ExposeProtocol (ExposeProtocol && other)
const ::fuchsia::component::decl::Ref & source ()
(Required) The provider of the capability relative to the component
itself. Must be `self` or `child`, or `void`. If set to `void`, then the
target must expose, offer, or use the capability with `OPTIONAL` or
`TRANSITIONAL` availability.
Defined at line 5216 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 protocol, by which it was presented to
this component.
Defined at line 5246 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) The destination to which the protocol is exposed: either the
component's realm or the framework.
Defined at line 5274 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 by which the capability is being exposed.
Defined at line 5301 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 offered by `ref` 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 a
dictionary. The name of the top-level dictionary is given by the first path
segment of `source_dictionary`, and `source` is expected to route a
dictionary capability with this name. The rest of the path (possibly empty)
represents the path to a dictionary nested in the top-level dictionary which
is expected to contain `source_name`.
Defined at line 5362 of file fidling/gen/sdk/fidl/fuchsia.component.decl/fuchsia.component.decl/hlcpp/fuchsia/component/decl/cpp/fidl.h
void ~ExposeProtocol ()
ExposeProtocol & operator= (ExposeProtocol && other)
::std::unique_ptr<ExposeProtocol> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, ExposeProtocol * _value, size_t _offset)
zx_status_t Clone (ExposeProtocol * _result)