template <>

class Server

Defined at line 207 of file fidling/gen/sdk/fidl/fuchsia.hardware.i2c/fuchsia.hardware.i2c/cpp/fidl/fuchsia.hardware.i2c/cpp/natural_messaging.h

Public Methods

void Server ()

Defined at line 210 of file fidling/gen/sdk/fidl/fuchsia.hardware.i2c/fuchsia.hardware.i2c/cpp/fidl/fuchsia.hardware.i2c/cpp/natural_messaging.h

void Transfer (TransferRequest & request, TransferCompleter::Sync & completer)

Issue one or more transactions to a particular I2C device.

Each `Transaction` is performed in the order in which it appears in `transactions`. Data for

read transfers (if there are any) is returned through `read_data`, which has one entry for

each read transfer in `transactions`. Transaction processing continues until all transfers

have been completed, an error occurs, or the target issues a NACK in response to a write

transfer.

The possible error values are:

ZX_ERR_INVALID_ARGS: `transactions` has zero elements, `data_transfer` was not specified

for a `Transaction`, or there was a zero-length `DataTransfer`.

ZX_ERR_OUT_OF_RANGE: A `DataTransfer` was too large to be handled by this I2C controller.

ZX_ERR_IO_NOT_PRESENT: The device did not respond to its I2C address.

ZX_ERR_IO_REFUSED: The device issued a NACK before the end of a write transfer.

void GetName (GetNameCompleter::Sync & completer)

Get the name of this I2C Device. Returns ZX_ERR_NOT_SUPPORTED if the

name is unspecified or the empty string.

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 ~Server ()

Defined at line 211 of file fidling/gen/sdk/fidl/fuchsia.hardware.i2c/fuchsia.hardware.i2c/cpp/fidl/fuchsia.hardware.i2c/cpp/natural_messaging.h