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)