template <>
class WireServer
Defined at line 3015 of file fidling/gen/sdk/fidl/fuchsia.hardware.goldfish/fuchsia.hardware.goldfish/cpp/fidl/fuchsia.hardware.goldfish/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_hardware_goldfish::ControlDevice>|
and |::fidl::ServerEnd
<
::fuchsia_hardware_goldfish::ControlDevice>|).
Public Methods
void CreateColorBuffer2 (::fuchsia_hardware_goldfish::wire::ControlDeviceCreateColorBuffer2Request * request, CreateColorBuffer2Completer::Sync & completer)
Create shared color buffer. Color buffer is automatically freed when
all references to `vmo` have been closed. Fails if VMO is not
associated with goldfish heap memory.
Arguments
Refer to `CreateColorBuffer2Params` for input arguments.
Return value
`res`: `ZX_ERR_ALREADY_EXISTS` if a buffer or color buffer has
already been created for this VMO.
`ZX_ERR_INVALID_ARGS` if arguments are invalid.
(see `CreateColorBuffer2Params`)
Otherwise returns `ZX_OK`.
`hw_address_page_offset`: memory page offset of the buffer's
hardware-mapped memory. For color buffers with HOST_VISIBLE
memory property bits, this value is a non-negative
integer in [0, 4095]. For non-HOST_VISIBLE memory or
failed allocation, this value is negative.
void CreateBuffer2 (::fuchsia_hardware_goldfish::wire::ControlDeviceCreateBuffer2Request * request, CreateBuffer2Completer::Sync & completer)
Create shared data buffer. Buffer is automatically freed when
all references to `vmo` have been closed. Fails if VMO is not
associated with goldfish heap memory.
Arguments
Refer to `CreateBuffer2Params` for input arguments.
Return value
Error:
- `ZX_ERR_ALREADY_EXISTS` if a buffer or color buffer has
already been created for this VMO.
- `ZX_ERR_INVALID_ARGS` if arguments are invalid.
(see `CreateBuffer2Params`)
`hw_address_page_offset`:
Memory page offset of the buffer's hardware-mapped memory.
For buffers with HOST_VISIBLE memory property bits, this
value is a non-negative integer in [0, 4095]. For
non-HOST_VISIBLE memory, this value is negative.
void GetBufferHandle (::fuchsia_hardware_goldfish::wire::ControlDeviceGetBufferHandleRequest * request, GetBufferHandleCompleter::Sync & completer)
Get a buffer handle for VMO and the type of the handle.
Fails if VMO is not associated with neither a color buffer nor a buffer.
Deprecated. Use `GetBufferHandleInfo()` instead.
void GetBufferHandleInfo (::fuchsia_hardware_goldfish::wire::ControlDeviceGetBufferHandleInfoRequest * request, GetBufferHandleInfoCompleter::Sync & completer)
Get the info of buffer handle from a given VMO.
Return value
Error:
- `ZX_ERR_INVALID_ARGS` if given `vmo` is invalid.
- `ZX_ERR_NOT_FOUND` if `vmo` is not associated with any created
goldfish Buffer or ColorBuffer.
`info`: a BufferHandleInfo object containing the buffer id, type
and memory information.
void CreateSyncFence (::fuchsia_hardware_goldfish::wire::ControlDeviceCreateSyncFenceRequest * request, CreateSyncFenceCompleter::Sync & completer)
Create a sync fence on goldfish control device. Client pass half of an
eventpair to this method, and `event` will signal its peer when all the
graphics work already queued on the EGL display context associated with
the control device when it is created has finished.
Errors:
- ZX_ERR_INTERNAL if device fail to create the fence or fail to
trigger the wait.
void WireServer ()
Defined at line 3018 of file fidling/gen/sdk/fidl/fuchsia.hardware.goldfish/fuchsia.hardware.goldfish/cpp/fidl/fuchsia.hardware.goldfish/cpp/wire_messaging.h
Handler bind_handler (async_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 3019 of file fidling/gen/sdk/fidl/fuchsia.hardware.goldfish/fuchsia.hardware.goldfish/cpp/fidl/fuchsia.hardware.goldfish/cpp/wire_messaging.h