class WatchControllerWriteCommands

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

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.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal