template <>
class WireServer
Defined at line 1049 of file fidling/gen/sdk/fidl/fuchsia.hardware.block.encrypted/fuchsia.hardware.block.encrypted/cpp/fidl/fuchsia.hardware.block.encrypted/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_hardware_block_encrypted::DeviceManager>|
and |::fidl::ServerEnd
<
::fuchsia_hardware_block_encrypted::DeviceManager>|).
Public Methods
void Format (::fuchsia_hardware_block_encrypted::wire::DeviceManagerFormatRequest * request, FormatCompleter::Sync & completer)
Formats the device, destroying any previously-secured data. A new data
key is generated and wrapped with the provided `key` into key slot `slot`,
Returns `ZX_ERR_BAD_STATE` if the device is not currently sealed.
Returns `ZX_OK` on success.
void Unseal (::fuchsia_hardware_block_encrypted::wire::DeviceManagerUnsealRequest * request, UnsealCompleter::Sync & completer)
Attempts to unseal the device by using the provided master key to unwrap
the data key wrapped in the specified key slot. If the key provided was
the correct key for this slot, then the device node responding to this
protocol will create an unsealed zxcrypt device as a child of itself in
the device tree before returning success.
Returns `ZX_ERR_INVALID_ARGS` if `slot` is invalid.
Returns `ZX_ERR_BAD_STATE` and keeps the device open if the device is already unsealed.
Returns other errors if operations on the underlying block device return errors.
Returns `ZX_OK` on success.
void Seal (SealCompleter::Sync & completer)
Seals the device, causing any previously-created child zxcrypt Device to
be removed some time later. (Someday we'd like this to only return once
the unsealed child device is removed, but that's not straightforward today.)
Returns `ZX_ERR_BAD_STATE` if the device is already sealed.
Returns `ZX_OK` on success.
void Shred (ShredCompleter::Sync & completer)
Shreds the device, permanently overwriting the keys that would allow
`Unseal()`ing the device again in the future. This call does *not*
impact the current sealed/unsealed state of the device -- if currently
unsealed, the device will remain in that state until `Seal()` is called
or the device is unbound.
Returns `ZX_OK` on success.
Returns other errors if operations on the underlying block device return errors.
void WireServer ()
Defined at line 1052 of file fidling/gen/sdk/fidl/fuchsia.hardware.block.encrypted/fuchsia.hardware.block.encrypted/cpp/fidl/fuchsia.hardware.block.encrypted/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 1053 of file fidling/gen/sdk/fidl/fuchsia.hardware.block.encrypted/fuchsia.hardware.block.encrypted/cpp/fidl/fuchsia.hardware.block.encrypted/cpp/wire_messaging.h