template <>

class WireServer

Defined at line 2993 of file fidling/gen/sdk/fidl/fuchsia.hardware.ufs/fuchsia.hardware.ufs/cpp/fidl/fuchsia.hardware.ufs/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_hardware_ufs::Ufs>|

and |::fidl::ServerEnd

<

::fuchsia_hardware_ufs::Ufs>|).

Public Methods

void ReadBuffer (::fuchsia_hardware_scsi::wire::ScsiReadBufferRequest * request, ReadBufferCompleter::Sync & completer)

The VMO used in the method is not owned by the protocol implementation.

In the case of ReadBuffer, the client provides an empty VMO for the server to fill,

while in the case of WriteBuffer, the client must fill the VMO with data before making

the request.

void WireServer ()

Defined at line 2996 of file fidling/gen/sdk/fidl/fuchsia.hardware.ufs/fuchsia.hardware.ufs/cpp/fidl/fuchsia.hardware.ufs/cpp/wire_messaging.h

void WriteBuffer (::fuchsia_hardware_scsi::wire::ScsiWriteBufferRequest * request, WriteBufferCompleter::Sync & completer)
void ReadDescriptor (::fuchsia_hardware_ufs::wire::UfsReadDescriptorRequest * request, ReadDescriptorCompleter::Sync & completer)

Retrieves and returns the UFS Descriptor.

void WriteDescriptor (::fuchsia_hardware_ufs::wire::UfsWriteDescriptorRequest * request, WriteDescriptorCompleter::Sync & completer)

Writes a UFS Descriptor.

void ReadFlag (::fuchsia_hardware_ufs::wire::UfsReadFlagRequest * request, ReadFlagCompleter::Sync & completer)

Reads a flag. A flag is a fixed size single byte value that represents a Boolean value.

void SetFlag (::fuchsia_hardware_ufs::wire::UfsSetFlagRequest * request, SetFlagCompleter::Sync & completer)

Sets a flag.

void ClearFlag (::fuchsia_hardware_ufs::wire::UfsClearFlagRequest * request, ClearFlagCompleter::Sync & completer)

Clears a flag.

void ToggleFlag (::fuchsia_hardware_ufs::wire::UfsToggleFlagRequest * request, ToggleFlagCompleter::Sync & completer)

Toggles a flag.

void ReadAttribute (::fuchsia_hardware_ufs::wire::UfsReadAttributeRequest * request, ReadAttributeCompleter::Sync & completer)

Reads an attribute.

void WriteAttribute (::fuchsia_hardware_ufs::wire::UfsWriteAttributeRequest * request, WriteAttributeCompleter::Sync & completer)

Writes an attribute.

void SendUicCommand (::fuchsia_hardware_ufs::wire::UicCommand * request, SendUicCommandCompleter::Sync & completer)

Sends a UIC command to the UFS device.

void Request (::fuchsia_hardware_ufs::wire::UfsRequestRequest * request, RequestCompleter::Sync & completer)

UFS transactions use UPIU packets with a fixed 12-byte header, transaction-specific fields,

possibly one or more extended header segments and zero or more data segments.

For direct construction and usage of UPIU packets, use this function.

The UPIU format is defined in UFS 3.1, section 10.6.

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 2997 of file fidling/gen/sdk/fidl/fuchsia.hardware.ufs/fuchsia.hardware.ufs/cpp/fidl/fuchsia.hardware.ufs/cpp/wire_messaging.h