template <>

class WireWeakAsyncClientImpl

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

Public Methods

::fidl::internal::WireThenable< ::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.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

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

Configures the output buffer as per `mode`.

Allocates 24 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::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.

Allocates 24 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::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.

Allocates 40 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::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.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.