template <>
class WireServer
Defined at line 638 of file fidling/gen/sdk/fidl/fuchsia.power.system/fuchsia.power.system/cpp/fidl/fuchsia.power.system/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_power_system::SuspendBlocker>|
and |::fidl::ServerEnd
<
::fuchsia_power_system::SuspendBlocker>|).
Public Methods
void BeforeSuspend (BeforeSuspendCompleter::Sync & completer)
Called after system activity governor begins operations to suspend the
hardware platform.
The server is expected to respond once it has performed the operations
it needs to prepare itself for suspend, if any. All dependencies of
`ExecutionStateLevel::SUSPENDING` are guaranteed to be satisified for
the duration of this call and may be revoked once the server replies.
Operations to suspend the hardware platform may vary between different
hardware platforms and product configurations. At a minimum, the client
and server MUST assume that general code execution continues
until a reply to this call is received by the client. If the
SuspendBlocker wants to preempt suspend operations, it MUST call
`ActivityGovernor.AcquireWakeLease` before replying to this call.
ExecutionState will be at its SUSPENDING level for the duration of this
call. Consequently, a SuspendBlocker MUST NOT call
`ActivityGovernor.TakeApplicationActivityLease` nor perform any other
action that blocks on Execution State reaching a level other than
INACTIVE. Doing so will result in a deadlock. (However, AcquireWakeLease
does _not_ block in this way and is safe to call.)
void AfterResume (AfterResumeCompleter::Sync & completer)
Called after system activity governor is aware that the hardware
platform has resumed.
For the duration of this call, ExecutionState is at level INACTIVE,
but all dependencies of `ExecutionStateLevel::SUSPENDING` are guaranteed
be satisified.
Consequently, a SuspendBlocker MUST NOT call
`ActivityGovernor.TakeApplicationActivityLease` nor perform any other
action that blocks on Execution State reaching a level other than
INACTIVE. Doing so will result in a deadlock. (However, AcquireWakeLease
does _not_ block in this way and is safe to call.)
void WireServer ()
Defined at line 641 of file fidling/gen/sdk/fidl/fuchsia.power.system/fuchsia.power.system/cpp/fidl/fuchsia.power.system/cpp/wire_messaging.h
Handler bind_handler (async_dispatcher_t * dispatcher)
|bind_handler| returns a handler that binds incoming connections to this
server implementation.
The returned handler borrows the server instance.
The server must outlive the provided |dispatcher|. Only after
the dispatcher is shutdown will it be safe to destroy the servers.
The server should not be moved.
void ~WireServer ()
Defined at line 642 of file fidling/gen/sdk/fidl/fuchsia.power.system/fuchsia.power.system/cpp/fidl/fuchsia.power.system/cpp/wire_messaging.h