class RegisterBufferCollectionArgs

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

The table of arguments for [`RegisterBufferCollection`]. Note that some

fields below are REQUIRED.

Public Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

RegisterBufferCollectionArgs & set_export_token (::fuchsia::ui::composition::BufferCollectionExportToken _value)
RegisterBufferCollectionArgs & set_buffer_collection_token (::fidl::InterfaceHandle< ::fuchsia::sysmem::BufferCollectionToken> _value)
RegisterBufferCollectionArgs & set_usage (::fuchsia::ui::composition::RegisterBufferCollectionUsage _value)
RegisterBufferCollectionArgs & set_usages (::fuchsia::ui::composition::RegisterBufferCollectionUsages _value)
RegisterBufferCollectionArgs & set_buffer_collection_token2 (::fidl::InterfaceHandle< ::fuchsia::sysmem2::BufferCollectionToken> _value)
void RegisterBufferCollectionArgs ()
void RegisterBufferCollectionArgs (RegisterBufferCollectionArgs && other)
void ~RegisterBufferCollectionArgs ()
RegisterBufferCollectionArgs & operator= (RegisterBufferCollectionArgs && other)
::std::unique_ptr<RegisterBufferCollectionArgs> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, RegisterBufferCollectionArgs * _value, size_t _offset)
zx_status_t Clone (RegisterBufferCollectionArgs * _result)
const ::fuchsia::ui::composition::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.

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

bool has_export_token ()

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

::fuchsia::ui::composition::BufferCollectionExportToken * mutable_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.

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

void clear_export_token ()

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

const ::fidl::InterfaceHandle< ::fuchsia::sysmem::BufferCollectionToken> & buffer_collection_token ()

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

bool has_buffer_collection_token ()

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

::fidl::InterfaceHandle< ::fuchsia::sysmem::BufferCollectionToken> * mutable_buffer_collection_token ()

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

void clear_buffer_collection_token ()

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

const ::fuchsia::ui::composition::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.

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

bool has_usage ()

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

::fuchsia::ui::composition::RegisterBufferCollectionUsage * mutable_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.

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

void clear_usage ()

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

const ::fuchsia::ui::composition::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.

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

bool has_usages ()

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

::fuchsia::ui::composition::RegisterBufferCollectionUsages * mutable_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.

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

void clear_usages ()

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

const ::fidl::InterfaceHandle< ::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.

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

bool has_buffer_collection_token2 ()

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

::fidl::InterfaceHandle< ::fuchsia::sysmem2::BufferCollectionToken> * mutable_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.

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

void clear_buffer_collection_token2 ()

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