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