template <>

class Server

Defined at line 570 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/natural_messaging.h

Public Methods

void GetChipSelectCount (GetChipSelectCountCompleter::Sync & completer)

Returns the number of chip select lines available or provided by the driver instance.

To be used as a limit on the acceptable values for the `chip_select' field in the Exchange()

and ExchangeVmo() methods.

void Server ()

Defined at line 573 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/natural_messaging.h

void TransmitVector (TransmitVectorRequest & request, TransmitVectorCompleter::Sync & completer)

Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.

void ReceiveVector (ReceiveVectorRequest & request, ReceiveVectorCompleter::Sync & completer)

Half-duplex receive data from a SPI device; always reads the full size requested.

void ExchangeVector (ExchangeVectorRequest & request, ExchangeVectorCompleter::Sync & completer)

Full-duplex SPI transaction. Received data will exactly equal the length of the transmit

buffer.

void LockBus (LockBusRequest & request, LockBusCompleter::Sync & completer)

Lock the bus.

void UnlockBus (UnlockBusRequest & request, UnlockBusCompleter::Sync & completer)

Unlock the bus.

void RegisterVmo (RegisterVmoRequest & request, RegisterVmoCompleter::Sync & completer)

rights is a bit field containing SpiVmoRight values, and determines the read/write

permissions used by the implementation when pinning or mapping the VMO.

void UnregisterVmo (UnregisterVmoRequest & request, UnregisterVmoCompleter::Sync & completer)
void ReleaseRegisteredVmos (ReleaseRegisteredVmosRequest & request, ReleaseRegisteredVmosCompleter::Sync & completer)

Release all VMOs registered to this chip_select. Called by the core driver after the client

has disconnected and the VMOs are no longer needed.

void TransmitVmo (TransmitVmoRequest & request, TransmitVmoCompleter::Sync & completer)
void ReceiveVmo (ReceiveVmoRequest & request, ReceiveVmoCompleter::Sync & completer)
void ExchangeVmo (ExchangeVmoRequest & request, ExchangeVmoCompleter::Sync & completer)
Handler bind_handler (fdf_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 574 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/natural_messaging.h