template <>

class NaturalClientImpl

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

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_hardware_i2c::Device::Transfer> Transfer (const ::fidl::Request< ::fuchsia_hardware_i2c::Device::Transfer> & request)

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.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_i2c::Device::GetName> GetName ()

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

name is unspecified or the empty string.