template <>
class WireServer
Defined at line 3282 of file fidling/gen/sdk/fidl/fuchsia.paver/fuchsia.paver/cpp/fidl/fuchsia.paver/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_paver::DataSink>|
and |::fidl::ServerEnd
<
::fuchsia_paver::DataSink>|).
Public Methods
void ReadAsset (::fuchsia_paver::wire::DataSinkReadAssetRequest * request, ReadAssetCompleter::Sync & completer)
Reads the partition corresponding to `configuration` and `asset` into a vmo and returns it.
The size field of the returned `Buffer` will be the size of just the asset, if it can be
determined. Otherwise, it will be the size of the entire partition.
The size and stream size of the vmo in the returned `Buffer` will always be the size of the
entire partition.
void WireServer ()
Defined at line 3285 of file fidling/gen/sdk/fidl/fuchsia.paver/fuchsia.paver/cpp/fidl/fuchsia.paver/cpp/wire_messaging.h
void WriteAsset (::fuchsia_paver::wire::DataSinkWriteAssetRequest * request, WriteAssetCompleter::Sync & completer)
Writes partition corresponding to `configuration` and `asset` with data from `payload`.
`payload` may need to be resized to the partition size, so the provided vmo must have
been created with `ZX_VMO_RESIZABLE` or must be a child VMO that was created with
`ZX_VMO_CHILD_RESIZABLE`. Will zero out rest of the partition if `payload` is smaller
than the size of the partition being written.
Returns `ZX_ERR_INVALID_ARGS` if `configuration` specifies active configuration.
void WriteFirmware (::fuchsia_paver::wire::DataSinkWriteFirmwareRequest * request, WriteFirmwareCompleter::Sync & completer)
Writes firmware data from `payload`.
`configuration` represents the A/B/R configuration. For platforms that do not support
firmware A/B/R, the parameter will be ignored by the underlying device-specific logic .
`type` is a device-specific string identifying the payload contents,
used to select the proper paving logic. For example, a device with
multiple bootloader stages might send them as separate calls to
`WriteFirmware()`, differentiated by `type`. An empty string
indicates the default type.
`payload` may need to be resized to the partition size, so the provided
vmo must have been created with `ZX_VMO_RESIZABLE` or must be a child
VMO that was created with `ZX_VMO_CHILD_RESIZABLE`.
void ReadFirmware (::fuchsia_paver::wire::DataSinkReadFirmwareRequest * request, ReadFirmwareCompleter::Sync & completer)
Read firmware corresponding to `configuration` and `type`.
Parameter `configuration` and `type` are the same as WriteFirmware.
If ReadFirmware returns error, caller should assume that firmware image does not exist
or is in a bad state, or firmware read is not defined for the product.
void WriteVolumes (::fuchsia_paver::wire::DataSinkWriteVolumesRequest * request, WriteVolumesCompleter::Sync & completer)
Writes FVM with data from streamed via `payload`. This potentially affects all
configurations.
void WriteOpaqueVolume (::fuchsia_paver::wire::DataSinkWriteOpaqueVolumeRequest * request, WriteOpaqueVolumeCompleter::Sync & completer)
Write a raw volume image to the device. The image will be passed as it is to the device
partitioner backend to write. Therefore the format and write logic for the image is up to
the product to define. It differs from WriteVolume(), which is specifically for writing the
FVM sparse image, in that the paver will not perform any FVM related parsing or other
operation of the image. Thus it is not dependent on the volume driver version and less
susceptible to an outdated paver.
Returns ZX_ERR_NOT_SUPPORTED if the backend does not support opaque volume blobs.
void WriteSparseVolume (::fuchsia_paver::wire::DataSinkWriteSparseVolumeRequest * request, WriteSparseVolumeCompleter::Sync & completer)
Writes an image in the Android Sparse format. Identical in behaviour to
`WriteOpaqueVolume`, except the contents of `payload` are parsed as a sparse image and
unpacked before being written to disk.
void Flush (FlushCompleter::Sync & completer)
Flush all previously buffered writes to persistent storage.
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 3286 of file fidling/gen/sdk/fidl/fuchsia.paver/fuchsia.paver/cpp/fidl/fuchsia.paver/cpp/wire_messaging.h