template <>
class WireServer
Defined at line 2736 of file fidling/gen/sdk/fidl/fuchsia.hardware.spi/fuchsia.hardware.spi/cpp/fidl/fuchsia.hardware.spi/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_hardware_spi::Device>|
and |::fidl::ServerEnd
<
::fuchsia_hardware_spi::Device>|).
Public Methods
void Transmit (::fuchsia_hardware_sharedmemory::wire::SharedVmoIoTransmitRequest * request, TransmitCompleter::Sync & completer)
Sends the data in buffer to the device.
void Receive (::fuchsia_hardware_sharedmemory::wire::SharedVmoIoReceiveRequest * request, ReceiveCompleter::Sync & completer)
Receives data from the device into buffer.
void Exchange (::fuchsia_hardware_sharedmemory::wire::SharedVmoIoExchangeRequest * request, ExchangeCompleter::Sync & completer)
Simultaneously transmits and receives data. The size fields of tx_buffer and rx_buffer must
be the same.
void RegisterVmo (::fuchsia_hardware_sharedmemory::wire::SharedVmoRegisterRegisterVmoRequest * request, RegisterVmoCompleter::Sync & completer)
Registers a VMO and transfers ownership to the driver.
vmo_id: The ID chosen by the client that will be used in operations on this VMO.
vmo: The handle, offset, and size of this VMO. IO operations on this VMO will be relative to
the offset and size specified here.
rights: A bit field of SharedVmoRight values indicating how this VMO may be used. Callers
should assume that the driver will map and/or pin the VMO using these rights.
void UnregisterVmo (::fuchsia_hardware_sharedmemory::wire::SharedVmoRegisterUnregisterVmoRequest * request, UnregisterVmoCompleter::Sync & completer)
Unmaps and/or unpins the VMO and returns the handle to the caller.
void TransmitVector (::fuchsia_hardware_spi::wire::DeviceTransmitVectorRequest * request, TransmitVectorCompleter::Sync & completer)
Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.
void ReceiveVector (::fuchsia_hardware_spi::wire::DeviceReceiveVectorRequest * request, ReceiveVectorCompleter::Sync & completer)
Half-duplex receive data from a SPI device; always reads the full size requested.
void ExchangeVector (::fuchsia_hardware_spi::wire::DeviceExchangeVectorRequest * request, ExchangeVectorCompleter::Sync & completer)
Full-duplex SPI transaction. Received data will exactly equal the length of the transmit
buffer.
void CanAssertCs (CanAssertCsCompleter::Sync & completer)
Returns true if the device can call |AssertCs()| and |DeassertCs()|.
void AssertCs (AssertCsCompleter::Sync & completer)
Assert CS for this device.
Returns ZX_ERR_NOT_SUPPORTED if there is more than one device on the bus.
void DeassertCs (DeassertCsCompleter::Sync & completer)
Deassert CS for this device.
Returns ZX_ERR_BAD_STATE if CS is already deasserted.
Returns ZX_ERR_NOT_SUPPORTED if there is more than one device on the bus.
void WireServer ()
Defined at line 2739 of file fidling/gen/sdk/fidl/fuchsia.hardware.spi/fuchsia.hardware.spi/cpp/fidl/fuchsia.hardware.spi/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 2740 of file fidling/gen/sdk/fidl/fuchsia.hardware.spi/fuchsia.hardware.spi/cpp/fidl/fuchsia.hardware.spi/cpp/wire_messaging.h