template <>

class Server

Defined at line 258 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/natural_messaging.h

Public Methods

void CreateKey (CreateKeyRequest & request, CreateKeyCompleter::Sync & completer)

Creates a new key wrapped with the key identified by `wrapping_key_id`. `owner` identifies

the owner of the key and must be supplied to `UnwrapKey`. The crypt service chooses a

`wrapping_key_id` which must be supplied to UnwrapKey. The `wrapping_key_id` has no

meaning to Fxfs.

TODO(https://fxbug.dev/445189846): Add an `object_type` field to support inline encryption.

void CreateKeyWithId (CreateKeyWithIdRequest & request, CreateKeyWithIdCompleter::Sync & completer)

Creates a new key wrapped with the key identified by `wrapping_key_id`. `owner` identifies

the owner of the key and must be supplied to `UnwrapKey` along with `wrapping_key_id`.

The `wrapping_key_id` has no meaning to Fxfs.

void Server ()

Defined at line 261 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/natural_messaging.h

void UnwrapKey (UnwrapKeyRequest & request, UnwrapKeyCompleter::Sync & completer)

Unwraps a key. `owner` must be the same as that passed to `CreateKey`.

This can fail due to permission reasons, but an incorrect key or owner will not fail;

it will just return an unwrapped key that won't actually decrpyt the data.

ZX_ERR_UNAVAILABLE is returned if the key is known but cannot be unwrapped (e.g. it is

locked).

ZX_ERR_NOT_FOUND is returned if the key is not known. In some cases, implementations are

unable to tell the difference between the two, in which case, ZX_ERR_UNAVAILABLE is

returned.

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 ~Server ()

Defined at line 262 of file fidling/gen/src/storage/fxfs/fidl/fuchsia.fxfs/fuchsia.fxfs/cpp/fidl/fuchsia.fxfs/cpp/natural_messaging.h