template <>

class WireWeakAsyncClientImpl

Defined at line 6431 of file fidling/gen/sdk/fidl/fuchsia.hardware.display/fuchsia.hardware.display/cpp/fidl/fuchsia.hardware.display/cpp/wire_messaging.h

Public Methods

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::ImportImage> ImportImage (const ::fuchsia_hardware_display_types::wire::ImageMetadata & image_metadata, const ::fuchsia_hardware_display::wire::BufferCollectionId & buffer_collection_id, uint32_t buffer_index, const ::fuchsia_hardware_display::wire::ImageId & image_id)

Imports a Buffer-Collection backed image.

Returns `ZX_ERR_NOT_SUPPORTED` if the display hardware doesn't support

`image_metadata`.

Returns `ZX_ERR_ALREADY_EXISTS` if `image_id` was used in a successful

`ImportImage()` without a corresponding `ReleaseImage()`.

Returns `ZX_ERR_NO_MEMORY` if memory cannot be allocated for managing the image

Additionally, this method delegates internally to `fuchsia.hardware.display.engine/Engine`,

and will forward errors received from `ImportImage()` and `ImportImageForCapture()`.

Allocates 56 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::CreateLayer> CreateLayer ()

Creates a new layer.

Layers are not associated with a particular display, but they can only be

shown on at most one display at any given time. A layer is considered in

use from the time it is passed to SetDisplayLayers until a subsequent

configuration is applied which does not include the layer or until its

display is removed.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::CheckConfig> CheckConfig ()

Validates the draft configuration.

Validation entails checking that the draft configuration can be used

by the system's display hardware.

Most SetX operations require verifying the draft configuration. The

following operations do not require revalidation.

* SetLayerImage2()

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::GetLatestAppliedConfigStamp> GetLatestAppliedConfigStamp ()

Gets the stamp provided with the latest configuration the client

submitted (by calling ApplyConfig()) and the display core driver

accepted; the display configuration may not have been rendered yet

because of pending image availability or draft layer changes.

If no configuration was applied before, returns `INVALID_CONFIG_STAMP_VALUE`.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::ImportBufferCollection> ImportBufferCollection (const ::fuchsia_hardware_display::wire::BufferCollectionId & buffer_collection_id, ::fidl::ClientEnd< ::fuchsia_sysmem2::BufferCollectionToken> && buffer_collection_token)

Import a sysmem buffer collection token. `buffer_collection_id` must not

already be in use.

Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::SetBufferCollectionConstraints> SetBufferCollectionConstraints (const ::fuchsia_hardware_display::wire::BufferCollectionId & buffer_collection_id, const ::fuchsia_hardware_display_types::wire::ImageBufferUsage & buffer_usage)

Takes an imported buffer collection and sets the constraints

on it so that it can be imported with a specific config.

Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::IsCaptureSupported> IsCaptureSupported ()

Returns true if Capture is supported on the platform.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::StartCapture> StartCapture (const ::fuchsia_hardware_display::wire::EventId & signal_event_id, const ::fuchsia_hardware_display::wire::ImageId & image_id)

Starts capture. Client must provide a valid signal_event_id and

image_id. signal_event_id must have been imported into the driver

using ImportEvent FIDL API. Image_id is the id from ImportImageForCapture.

The client will get notified once capture is complete via signal_event_id.

Returns ZX_ERR_NOT_SUPPORTED if coordinator does not support capture

Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::SetMinimumRgb> SetMinimumRgb (uint8_t minimum_rgb)

Set the minimum value of rgb channels. Valid range [0 255] inclusive. Returns

ZX_ERR_NOT_SUPPORTED when the display hardware does not support this feature.

This API is meant to address backlight bleeding that may occur on some hardware

that have a specific type of panel and hardware assembly. The evolution of this

API is highly hardware and product dependant and therefore as products evolve, this

API may change or support for this API may become non-existent. Therefore, this

API should be used with caution.

Unlike other calls in this API, SetMiniumRgb is applied immediately, and does not

wait for ApplyConfig(). It is, however, still stateful.

Allocates 24 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_display::Coordinator::SetDisplayPowerMode> SetDisplayPowerMode (const ::fuchsia_hardware_display_types::wire::DisplayId & display_id, ::fuchsia_hardware_display_types::wire::PowerMode power_mode)

Sets the display panel power mode.

This call takes effect immediately. Clients don't need to call

[`Coordinator.ApplyConfig`].

Fails with ZX_ERR_NOT_FOUND if `display_id` does not belong to a display

known by the Coordinator. This can happen if a client issues a call to

[`Coordinator.SetDisplayPowerMode`] before it receives a notification

that the display was removed.

This method is not idempotent. Each [`Coordinator.SetDisplayPowerMode`]

call explicitly sets the power mode on the display hardware, though the

display hardware driver may choose to behave idempotently.

Fails with ZX_ERR_NOT_SUPPORTED if the display drivers or the hardware

don't support the given `power_mode`.

Allocates 32 bytes of request buffer on the stack. The callback is stored on the heap.