template <>
class WireServer
Defined at line 2559 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fdf::ClientEnd
<
::fuchsia_hardware_spiimpl::SpiImpl>|
and |::fdf::ServerEnd
<
::fuchsia_hardware_spiimpl::SpiImpl>|).
Public Methods
void GetChipSelectCount (fdf::Arena & arena, 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 TransmitVector (::fuchsia_hardware_spiimpl::wire::SpiImplTransmitVectorRequest * request, fdf::Arena & arena, TransmitVectorCompleter::Sync & completer)
Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.
void ReceiveVector (::fuchsia_hardware_spiimpl::wire::SpiImplReceiveVectorRequest * request, fdf::Arena & arena, ReceiveVectorCompleter::Sync & completer)
Half-duplex receive data from a SPI device; always reads the full size requested.
void ExchangeVector (::fuchsia_hardware_spiimpl::wire::SpiImplExchangeVectorRequest * request, fdf::Arena & arena, ExchangeVectorCompleter::Sync & completer)
Full-duplex SPI transaction. Received data will exactly equal the length of the transmit
buffer.
void LockBus (::fuchsia_hardware_spiimpl::wire::SpiImplLockBusRequest * request, fdf::Arena & arena, LockBusCompleter::Sync & completer)
Lock the bus.
void UnlockBus (::fuchsia_hardware_spiimpl::wire::SpiImplUnlockBusRequest * request, fdf::Arena & arena, UnlockBusCompleter::Sync & completer)
Unlock the bus.
void RegisterVmo (::fuchsia_hardware_spiimpl::wire::SpiImplRegisterVmoRequest * request, fdf::Arena & arena, 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 (::fuchsia_hardware_spiimpl::wire::SpiImplUnregisterVmoRequest * request, fdf::Arena & arena, UnregisterVmoCompleter::Sync & completer)
void ReleaseRegisteredVmos (::fuchsia_hardware_spiimpl::wire::SpiImplReleaseRegisteredVmosRequest * request, fdf::Arena & arena, 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 (::fuchsia_hardware_spiimpl::wire::SpiImplTransmitVmoRequest * request, fdf::Arena & arena, TransmitVmoCompleter::Sync & completer)
void ReceiveVmo (::fuchsia_hardware_spiimpl::wire::SpiImplReceiveVmoRequest * request, fdf::Arena & arena, ReceiveVmoCompleter::Sync & completer)
void ExchangeVmo (::fuchsia_hardware_spiimpl::wire::SpiImplExchangeVmoRequest * request, fdf::Arena & arena, ExchangeVmoCompleter::Sync & completer)
void WireServer ()
Defined at line 2562 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/wire_messaging.h
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 ~WireServer ()
Defined at line 2563 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/wire_messaging.h