template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 463 of file fidling/gen/sdk/fidl/fuchsia.ui.composition/fuchsia.ui.composition/cpp/fidl/fuchsia.ui.composition/cpp/wire_types.h

Public Methods

::fuchsia_ui_composition::wire::RegisterBufferCollectionArgs Build ()

Build and return the table. The builder should not be used after this.

bool has_export_token ()
void clear_export_token ()

Clears the export_token field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_ui_composition::wire::BufferCollectionExportToken & export_token ()

Clients can send [`export_token`] to register buffer collections with Allocator to be used

later in [`fuchsia.ui.composition/Flatland`] instances or other Scenic APIs, such as

Screenshot.

For example, by passing a [`BufferCollectionImportToken`] containing the matching peer of

[`BufferCollectionExportToken`], they can create image resources via

[`fuchsia.ui.composition/Flatland.CreateImage`].

Clients should wait for the response before using `import_token`.

This field is REQUIRED.

BuilderImpl & export_token (::fuchsia_ui_composition::wire::BufferCollectionExportToken elem)

Clients can send [`export_token`] to register buffer collections with Allocator to be used

later in [`fuchsia.ui.composition/Flatland`] instances or other Scenic APIs, such as

Screenshot.

For example, by passing a [`BufferCollectionImportToken`] containing the matching peer of

[`BufferCollectionExportToken`], they can create image resources via

[`fuchsia.ui.composition/Flatland.CreateImage`].

Clients should wait for the response before using `import_token`.

This field is REQUIRED.

bool has_buffer_collection_token ()
void clear_buffer_collection_token ()

Clears the buffer_collection_token field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::ClientEnd< ::fuchsia_sysmem::BufferCollectionToken> & buffer_collection_token ()

Getter for buffer_collection_token.

BuilderImpl & buffer_collection_token (::fidl::ClientEnd< ::fuchsia_sysmem::BufferCollectionToken> elem)

Setter for buffer_collection_token.

bool has_usage ()
void clear_usage ()

Clears the usage field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_ui_composition::wire::RegisterBufferCollectionUsage & usage ()

The client can register a buffer collection for various uses, each

coming with their own unique constraints.

This field is OPTIONAL. If `usage` is omitted it will be treated as if

it has the DEFAULT option.

# Deprecation

This arg is deprecated at API version 9 with addition of |usages|.

If both the `usages` and `usage` fields are set, `usages` takes precedence and `usage` is

ignored.

BuilderImpl & usage (::fuchsia_ui_composition::wire::RegisterBufferCollectionUsage elem)

The client can register a buffer collection for various uses, each

coming with their own unique constraints.

This field is OPTIONAL. If `usage` is omitted it will be treated as if

it has the DEFAULT option.

# Deprecation

This arg is deprecated at API version 9 with addition of |usages|.

If both the `usages` and `usage` fields are set, `usages` takes precedence and `usage` is

ignored.

bool has_usages ()
void clear_usages ()

Clears the usages field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_ui_composition::wire::RegisterBufferCollectionUsages & usages ()

The client can register a buffer collection for various uses and has the ability to

combine usages if multiple are needed.

This field is OPTIONAL. If `usages` is omitted it will be treated as if

it has only the DEFAULT option.

BuilderImpl & usages (::fuchsia_ui_composition::wire::RegisterBufferCollectionUsages elem)

The client can register a buffer collection for various uses and has the ability to

combine usages if multiple are needed.

This field is OPTIONAL. If `usages` is omitted it will be treated as if

it has only the DEFAULT option.

bool has_buffer_collection_token2 ()
void clear_buffer_collection_token2 ()

Clears the buffer_collection_token2 field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fidl::ClientEnd< ::fuchsia_sysmem2::BufferCollectionToken> & buffer_collection_token2 ()

Flatland participates in the allocation of buffers by setting constraints on the

BufferCollection referenced by `buffer_collection_token`. It will not block on buffers

being allocated until the client creates content using the BufferCollection.

The buffer collection registered with `export_token` is available and kept alive as long

as the client holds a valid [`BufferCollectionImportToken`]. They will be garbage collected

when all [`BufferCollectionImportToken`]s are closed and all the associated Image resources

are released.

Exactly one of `buffer_collection_token2` / `buffer_collection_token` must be set.

BuilderImpl & buffer_collection_token2 (::fidl::ClientEnd< ::fuchsia_sysmem2::BufferCollectionToken> elem)

Flatland participates in the allocation of buffers by setting constraints on the

BufferCollection referenced by `buffer_collection_token`. It will not block on buffers

being allocated until the client creates content using the BufferCollection.

The buffer collection registered with `export_token` is available and kept alive as long

as the client holds a valid [`BufferCollectionImportToken`]. They will be garbage collected

when all [`BufferCollectionImportToken`]s are closed and all the associated Image resources

are released.

Exactly one of `buffer_collection_token2` / `buffer_collection_token` must be set.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_ui_composition::wire::RegisterBufferCollectionArgs, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_ui_composition::wire::RegisterBufferCollectionArgs>> && frame)

Records