template <>

class WireWeakAsyncBufferClientImpl

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

Public Methods

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_spmi::Device::ExtendedRegisterReadLong> ExtendedRegisterReadLong (uint16_t address, uint32_t size_bytes)

Issue Extended Register Read Long SPMI commands to the SPMI device.

Used to read from a 16 bit SPMI register space.

When successful, it returns `size_bytes` in `data` read contiguously starting from

`address` in the device.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_spmi::Device::ExtendedRegisterWriteLong> ExtendedRegisterWriteLong (uint16_t address, ::fidl::VectorView<uint8_t> data)

Issue Extended Register Write Long SPMI commands to the SPMI device.

Used to write to a 16 bit SPMI register space.

When this command is successful, `data` will be written contiguously starting from

`address` in the device.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_spmi::Device::GetProperties> GetProperties ()

Get the properties of the SPMI device.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_spmi::Device::WatchControllerWriteCommands> WatchControllerWriteCommands (uint8_t address, uint16_t size, ::zx::eventpair && setup_wake_lease)

Hanging-get method to receive controller write commands from the device. `address` and

`size` specify the register range to monitor for commands. Multiple overlapping calls to

this method are not allowed.

Returns `INVALID_ARGS` if `address` or `size` are invalid, or `BAD_STATE` if another call

is pending for this register range. Returns `CANCELED` if

`CancelWatchControllerWriteCommands()` was called for this register range.

If this method is meant to keep the system awake (prevents suspension) while watch is setup,

use the passed-in `setup_wake_lease` `LeaseToken`. Then, when the watch is triggered this

method will return a second `wake_lease` `LeaseToken` to prevent suspension.

These keep alive wake lease tokens are provided by the Power Framework's System Activity

Governor. A driver supporting keep alive must be able to get `wake_lease` from System

Activity Governor.

When `wake_lease` is closed, then the created wake lease keeping the system from suspending

at the time of watch triggering is dropped. Hence, to guarantee that the system is not

suspended by the Power Framework a client must either keep this `wake_lease` for as long as

the system needs to stay awake, or a client must get its own wake lease from the Power

Framework before it drops `wake_lease` to prevent suspension.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_spmi::Device::CancelWatchControllerWriteCommands> CancelWatchControllerWriteCommands (uint8_t address, uint16_t size)

Cancels an pending call to `WatchControllerWriteCommands`. `address` and `size` must

exactly match a previous call to `WatchControllerWriteCommands()`, otherwise `NOT_FOUND`

is returned.

Caller provides the backing storage for FIDL message.