template <>

class WireSyncBufferClientImpl

Defined at line 1079 of file fidling/gen/sdk/fidl/fuchsia.hardware.gpio/fuchsia.hardware.gpio/cpp/fidl/fuchsia.hardware.gpio/cpp/wire_messaging.h

Public Methods

::fidl::WireUnownedResult< ::fuchsia_hardware_gpio::Gpio::Read> Read ()

Reads the current value of a GPIO, returning `true` for a high voltage and `false` for a

low voltage.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_gpio::Gpio::SetBufferMode> SetBufferMode (::fuchsia_hardware_gpio::wire::BufferMode mode)

Configures the output buffer as per `mode`.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_gpio::Gpio::GetInterrupt> GetInterrupt (::fuchsia_hardware_gpio::wire::InterruptOptions options)

Gets an interrupt object pertaining to a particular GPIO pin. Only one interrupt may

be outstanding per pin, and it must be released by calling `ReleaseInterrupt()` before the

next call to `GetInterrupt()` will succeed. The interrupt is unmasked prior to being

returned to the caller.

Returns `ZX_ERR_ALREADY_EXISTS` if `GetInterrupt()` has already been called without a

subsequent call to `ReleaseInterrupt()`, `ZX_ERR_INVALID_ARGS` if `options` is invalid, or

`ZX_ERR_ACCESS_DENIED` if another client has the interrupt.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_gpio::Gpio::ConfigureInterrupt> ConfigureInterrupt (::fuchsia_hardware_gpio::wire::InterruptConfiguration config)

Configures the polarity of an interrupt and whether it is edge- or level-triggered. Only the

client with the interrupt can call `ConfigureInterrupt()`, unless no client has an

interrupt.

Returns `ZX_ERR_INVALID_ARGS` if no fields are set in `config`, or `ZX_ERR_ACCESS_DENIED` if

another client has the interrupt.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_hardware_gpio::Gpio::ReleaseInterrupt> ReleaseInterrupt ()

Releases the interrupt, allowing `GetInterrupt()` to be called again or by another

client. A client's interrupt is automatically released when it disconnects from the

server. The interrupt is masked upon release.

Returns `ZX_ERR_NOT_FOUND` if the interrupt has already been released, or if

`GetInterrupt()` has not been called. Returns `ZX_ERR_ACCESS_DENIED` if another client has

the interrupt.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.