template <>
class WireWeakSyncClientImpl
Defined at line 2530 of file fidling/gen/sdk/fidl/fuchsia.hardware.spmi/fuchsia.hardware.spmi/cpp/fidl/fuchsia.hardware.spmi/cpp/wire_messaging.h
Public Methods
::fidl::WireResult< ::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.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::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.
Allocates 32 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_spmi::Device::GetProperties> GetProperties ()
Get the properties of the SPMI device.
Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::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.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::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.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.