template <>
class WireServer
Defined at line 3330 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.engine/fuchsia.hardware.display.engine/cpp/fidl/fuchsia.hardware.display.engine/cpp/driver/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fdf::ClientEnd
<
::fuchsia_hardware_display_engine::Engine>|
and |::fdf::ServerEnd
<
::fuchsia_hardware_display_engine::Engine>|).
Public Methods
void CompleteCoordinatorConnection (::fuchsia_hardware_display_engine::wire::EngineCompleteCoordinatorConnectionRequest * request, fdf::Arena & arena, CompleteCoordinatorConnectionCompleter::Sync & completer)
Starts the information flow from the engine driver to the Coordinator.
Must be called exactly once, before all the other calls below.
void UnsetListener (fdf::Arena & arena, UnsetListenerCompleter::Sync & completer)
Clears the `DisplayEngineListener` connection established by
[`Engine.CompleteCoordinatorConnection`].
void ImportBufferCollection (::fuchsia_hardware_display_engine::wire::EngineImportBufferCollectionRequest * request, fdf::Arena & arena, ImportBufferCollectionCompleter::Sync & completer)
Sets up this driver to use a Sysmem BufferCollection.
Fails with ZX_ERR_INTERNAL if any error occurs during the setup process,
which mainly consists of communicating with the Sysmem service.
void ReleaseBufferCollection (::fuchsia_hardware_display_engine::wire::EngineReleaseBufferCollectionRequest * request, fdf::Arena & arena, ReleaseBufferCollectionCompleter::Sync & completer)
Releases the resources needed to use a Sysmem BufferCollection.
TODO(https://fxbug.dev/394954078): Make this method infallible.
void ImportImage (::fuchsia_hardware_display_engine::wire::EngineImportImageRequest * request, fdf::Arena & arena, ImportImageCompleter::Sync & completer)
Sets up the hardware to use a buffer as a display image data source.
Fails with ZX_ERR_SHOULD_WAIT if Sysmem reports that the
BufferCollection's buffers are not yet allocated. Fails with
ZX_ERR_INTERNAL if any other error occurs while obtaining the buffer
from the Sysmem service.
void ImportImageForCapture (::fuchsia_hardware_display_engine::wire::EngineImportImageForCaptureRequest * request, fdf::Arena & arena, ImportImageForCaptureCompleter::Sync & completer)
Sets up the hardware to use a buffer for display capture output.
This call must only be issued when the engine driver supports capture.
Capture support is reported in [`EngineInfo.is_capture_supported`]
returned by [`Engine.CompleteCoordinatorConnection`].
Fails with ZX_ERR_SHOULD_WAIT if Sysmem reports that the
BufferCollection's buffers are not yet allocated. Fails with
ZX_ERR_INTERNAL if any other error occurs while obtaining the buffer
from the Sysmem service.
void ReleaseImage (::fuchsia_hardware_display_engine::wire::EngineReleaseImageRequest * request, fdf::Arena & arena, ReleaseImageCompleter::Sync & completer)
Releases resources for using a buffer as a display image data source.
void CheckConfiguration (::fuchsia_hardware_display_engine::wire::EngineCheckConfigurationRequest * request, fdf::Arena & arena, CheckConfigurationCompleter::Sync & completer)
Verifies that a configuration can be presented on a display.
The verification result must be valid for any configuration derived from
the given configuration.
A derived configuration can be obtained from another configuration by
applying one or more of the following operations. The list of operations
is expected to slowly grow over time.
* Replace an image ID with another image ID. The two IDs must identify
images that were imported with the same metadata.
void ApplyConfiguration (::fuchsia_hardware_display_engine::wire::EngineApplyConfigurationRequest * request, fdf::Arena & arena, ApplyConfigurationCompleter::Sync & completer)
Submits a configuration for future presentation on a display.
void SetBufferCollectionConstraints (::fuchsia_hardware_display_engine::wire::EngineSetBufferCollectionConstraintsRequest * request, fdf::Arena & arena, SetBufferCollectionConstraintsCompleter::Sync & completer)
Conveys the display hardware's limitations on image buffers to sysmem.
Fails with ZX_ERR_INTERNAL if any error occurs while communicating with
the the Sysmem service.
void SetDisplayPowerMode (::fuchsia_hardware_display_engine::wire::EngineSetDisplayPowerModeRequest * request, fdf::Arena & arena, SetDisplayPowerModeCompleter::Sync & completer)
Sets a display's power mode.
Returns `ZX_ERR_NOT_SUPPORTED` if the display driver or hardware does
not support the requested power mode.
void SetMinimumRgb (::fuchsia_hardware_display_engine::wire::EngineSetMinimumRgbRequest * request, fdf::Arena & arena, SetMinimumRgbCompleter::Sync & completer)
Set the minimum value of RGB channels.
Fails with ZX_ERR_NOT_SUPPORTED if RGB clamping is not supported. Most
engine drivers are expected to fail in this manner.
void StartCapture (::fuchsia_hardware_display_engine::wire::EngineStartCaptureRequest * request, fdf::Arena & arena, StartCaptureCompleter::Sync & completer)
Starts a display capture operation.
The engine driver must not be performing another capture operation. The
capture operation is considered to be in-progress from the moment when a
successful call to [`DisplayEngine.StartCapture`] is issued, until the
moment when the engine driver issues a call to
[`DisplayEngineListener.OnCaptureComplete`].
This call must only be issued when the engine driver supports capture.
Capture support is reported in [`EngineInfo.is_capture_supported`]
returned by [`Engine.CompleteCoordinatorConnection`].
This call must only be issued after a configuration has been applied to
the display.
Fails with ZX_ERR_IO_REFUSED if the display engine hardware failed to
start the capture. This error could point to a systemic issue, such as
the system having insufficient DRAM bandwidth to capture the currently
applied display configuration. This error could also be caused by a
temporary hardware failure.
void ReleaseCapture (::fuchsia_hardware_display_engine::wire::EngineReleaseCaptureRequest * request, fdf::Arena & arena, ReleaseCaptureCompleter::Sync & completer)
Releases resources for using a buffer for display capture output.
This call must only be issued when the engine driver supports capture.
Capture support is reported in [`EngineInfo.is_capture_supported`]
returned by [`Engine.CompleteCoordinatorConnection`].
TODO(https://fxbug.dev/394954078): Make this method infallible.
void WireServer ()
Defined at line 3333 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.engine/fuchsia.hardware.display.engine/cpp/fidl/fuchsia.hardware.display.engine/cpp/driver/wire_messaging.h
Handler bind_handler (fdf_dispatcher_t * dispatcher)
|bind_handler| returns a handler that binds incoming connections to this
server implementation.
The returned handler borrows the server instance.
The server must outlive the provided |dispatcher|. Only after
the dispatcher is shutdown will it be safe to destroy the servers.
The server should not be moved.
void ~WireServer ()
Defined at line 3334 of file fidling/gen/sdk/fidl/fuchsia.hardware.display.engine/fuchsia.hardware.display.engine/cpp/fidl/fuchsia.hardware.display.engine/cpp/driver/wire_messaging.h